Dže*_*nan 2 c++ c99 visual-studio-2010 visual-c++
我正在使用VC2010,尝试编译一些用C99 for Linux编写的库.以下行给出了错误C2275:'uint8_t':非法使用此类型作为表达式
uint8_t * G = (uint8_t*)calloc(N ,sizeof(uint8_t));
Run Code Online (Sandbox Code Playgroud)
subhint:stdint.h(21):查看'uint8_t'的声明,该行是:
typedef unsigned char uint8_t;
Run Code Online (Sandbox Code Playgroud)
然后来累积的问题:错误C2065:'G':未声明的标识符等什么是非法的?
已经回答了类似的问题: 错误C2275:非法使用此类型作为表达式
答: 当您命名源文件*.c时,MSVC假定它正在编译C,这意味着C89.所有函数局部变量都需要在函数的开头声明.
解决方法包括: - 在函数开头声明/初始化所有局部变量 - 将源文件重命名为*.cpp或等效,并编译为C++.