VS2010中的C99:uint8_t *非法使用类型

时间:2012-06-08 15:36:31

标签: c++ visual-studio-2010 visual-c++ c99

我正在使用VC2010,尝试编译一些用C99 for Linux编写的库。以下行给出了错误C2275:'uint8_t':非法使用此类型作为表达式

uint8_t * G = (uint8_t*)calloc(N ,sizeof(uint8_t));

子提示:stdint.h(21):查看'uint8_t'的声明,该行是:

typedef unsigned char uint8_t;

然后出现累积的问题:错误C2065:'G':未声明的标识符等什么是非法的?

1 个答案:

答案 0 :(得分:5)

类似的问题已经回答: error C2275 : illegal use of this type as an expression

<强>答案: 当您命名源文件* .c时,MSVC假定它正在编译C,这意味着C89。所有函数局部变量都需要在函数的开头声明。

变通方法包括:   - 在您的开头声明/初始化所有局部变量    功能   - 将源文件重命名为* .cpp或等效编译    作为C ++。