如何为以下表达式进行类型转换

时间:2012-11-19 22:42:08

标签: c string error-handling realloc

我正在尝试使用下面的表达式将内存重新分配给我的表。但是我总是得到以下错误。请告诉我。

typedef char *OFAttribs[6];
 OFAttribs *tmp = realloc(pTable, sizeof(*tmp) * (nTableLen+1));

Error: invalid conversion from âvoid*â to âchar* (*)[6]â

2 个答案:

答案 0 :(得分:2)

试试这个:

OFAttribs *tmp = (OFAttribs*) realloc(pTable, sizeof(*tmp) * (nTableLen+1));

答案 1 :(得分:2)

您显示的代码是有效的C.您确定在C ++模式下没有错误地编译,其中void *不能隐式转换为其他指针类型吗?