c– 为什么我会收到此错误? void *不是指向对象类型的指针.

c– 为什么我会收到此错误? void *不是指向对象类型的指针.,第1张

概述void *stackAddr[NUM_THREADS]; stackAddr[i] = malloc(STACKSIZE); 编译器(g 4.4.3)抱怨调用malloc的地方......warning: pointer of type ‘void *’ used in arithmetic error: ‘void*’ is not a pointer

voID *stackAddr[NUM_THREADS];stackAddr[i] = malloc(STACKSIZE);

编译器(g 4.4.3)抱怨调用malloc的地方……

warning: pointer of type ‘voID *’ used in arithmeticerror: ‘voID*’ is not a pointer-to-object type

如果你有兴趣看到整个代码,这里就是……

#include 
最佳答案您正在声明一个局部变量voID * stackAddr,它会影响全局stackAddr数组.

此外,它不是一个数组,并且应用[]下标运算符会尝试偏移和取消引用voID指针,因此编译错误.

标准不允许对voID指针进行解引用和指针运算,因为sizeof(voID)未定义.

总结

以上是内存溢出为你收集整理的c – 为什么我会收到此错误? void *不是指向对象类型的指针.全部内容,希望文章能够帮你解决c – 为什么我会收到此错误? void *不是指向对象类型的指针.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/yw/1048076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)