【发布时间】:2010-04-26 03:06:55
【问题描述】:
虽然它运行正确,但会导致上述编译器警告:
return ((item - (my->items))/(my->itemSize));
'item' 是一个 'void *'; 'my->items' 是一个 'void *'; 'my->itemSize' 是一个 'int'
将 'item' 和 'my->items' 转换为 'int *' 导致程序运行不正常。消除警告的最佳方法是什么?
【问题讨论】:
-
作为一般经验法则,不要使用无类型 (void*) 变量...
-
我明白,但我使用 void * 因为我正在尝试实现一个通用结构
-
我个人更喜欢
return (item - my->items) / my->itemSize;(少两对括号),但这并不重要。
标签: c