Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 为什么我会收到此错误? void *不是指向对象类型的指针.大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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)抱怨@L_926_0@malloc的地方……

warning: pointer of type ‘void *’ used in arithmetic
error: ‘void*’ is not a pointer-to-object type

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

#include <>dio.h>
#include @H_489_35@@H_616_39@
最佳答案
您正在声明一个局部变量void * stackAddr,它会影响全局stackAddr数组.

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

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

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。