指向字符串文字的指针未传递到WriteFile()
。 fileName[]
用字符串文字"network/fileName.yo"
初始化。它是通过的变量fileName
。因为它是一个数组,它被转换为指向其第一个元素的指针。
在使用它之前声明或定义WriteNetwork()
。
将指向const
数据的指针传递给期望指向非const
数据的函数应该无法编译。将WriteNetwork()
更改为接受const
指针。 @Lưu Vĩnh Phúc
还要注意后,似乎把WriteFile()
为WriteNetwork()
@Ray Toal。当然这是一个文书错误,函数名称和调用应该是相同的。
// int WriteNetwork(const char* fileName) {
int WriteFile(const char* fileName) {
printf("the filename is %s\n", fileName);
}
int main(void) {
const char fileName[] = "network/fileName.yo";
WriteFile(fileName);
}
我一定是失去了一些东西很简单,但似乎无法追查!
小费: 节省时间。启用所有编译器警告。他们提供快速反馈以帮助您“追踪”。
'WriteFile'或'WriteNetwork'? –
它是如何工作的?你期望它如何工作?发生了什么?这些都是有用的东西,包括。 –
更改'WriteFile'声明以获取一个'const char *' –