我正在尝试在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";

07-28 02:32
查看更多