我正在尝试在c ++代码上使用一些C函数(由我自己制作)。
我正在使用Eclipse。
Main.cpp代码:
#include <Windows.h>
extern "C" {
#include "f.h"
}
int main(){
return 1;
}
现在f.h有很多功能,但是在具有此初始化行的那些功能上给我错误。
所以我的
f.h
代码就是这样:char o[9] = "00000000\0";
但...
initializer-string for array of chars is too long f.h
如果我用C编译它会起作用...为什么?
最佳答案
它试图将十个字符复制到您定义为9个字符长的数组中。
尝试:
char o[9] = "00000000";
它的末尾已经有一个空字符。或者让编译器进行计数。即。
char o[] = "00000000";