C 以字符串文字作为参数的strtok
当将字符串文本作为第二个参数传递给char*strtokchar*str,const char*delim;,为什么使用-Wpedantic编译时会警告来自不兼容指针类型的赋值;,我们能做些什么呢 由于警告内容为:来自不兼容指针类型的赋值,因此问题一定是来自strtok的赋值的左侧,例如:C 以字符串文字作为参数的strtok,c,C,当将字符串文本作为第二个参数传递给char*strtokchar*str,const char*delim;,为什么使用-Wpedantic编译时会警告来自不兼容指针类型的赋值;,我们能做些什么呢 由于警告内容为:来自不兼容指针类型的赋值,因此问题一定是来自strtok的赋值的左侧,例如: int *foo; foo = strtok(s, ","); 您必须确保赋值的左侧有一个兼容的指针类型,例如char*或void*@WeatherVane:它不会写入第二个参数。OP特别指出编译器正在标记
int *foo;
foo = strtok(s, ",");
您必须确保赋值的左侧有一个兼容的指针类型,例如char*或void*@WeatherVane:它不会写入第二个参数。OP特别指出编译器正在标记第二个参数,分隔符,它被标记为const。第二个论点应该不是问题。您能否共享触发错误的代码段?请显示示例代码。请显示实际代码。这不应该有问题,所以你在做一些不寻常的事情。它不应该太大-10行多会让人惊讶-所以你会创造一个很好的MCVE。它不应该。与其描述代码,不如展示代码。