我的编译器发出此警告:
inlinedata.h:9:6:注意:预期'char *'但参数类型为'const char *'
int inline_data_receive(char *data,int length);
我不明白为什么它声称'data'是一个const指针,当它没有写成const char *时。
答案 0 :(得分:5)
它说参数(您传入的数据)是const
。例如,它可能是一个字符串文字。所以不要这样做:
ret = inline_data_receive("hello", len);
这样做
char str[] = "hello";
ret = inline_data_receive(str, len);
你需要这样做,因为该函数不能保证它不会修改输入字符串。
答案 1 :(得分:3)
编译器抱怨您将const char*
值传递给标记为char*
的值。基本上如下
const char* c = ...;
inline_data_receive(c, strlen(c));
编译器抱怨c
为const char*
,但需要char*
才能与参数data