问题描述
我正在学习C ++。通过这个超级基本示例,我能够执行PowerShell命令。
#include <stdio.h>
int main() {
system("powershell.exe New-Item -ItemType File -Name cpp_test");
return 0;
}
$ x86_64-w64-mingw32-gcc test.c -o test.exe
test.c: In function ‘main’:
test.c:3:4: warning: implicit declaration of function ‘system’ [-Wimplicit-function-declaration]
system("powershell.exe New-Item -ItemType File -Name cpp_test");
^~~~~~
我查找了implicit declaration错误,但不太了解如何将其应用于示例。有人可以向五岁的孩子解释它吗?
修订版,test.cpp
:
#include <cstdlib>
int main() {
system("powershell.exe New-Item -ItemType File -Name cpp_test");
return 0;
}
解决方法
C函数system
在C ++头文件<cstdlib>
中声明(或在C头文件<stdlib.h>
中声明)
因此,如果您的程序是C ++程序,则将程序中未使用的标头<stdio.h>
替换为
#include <cstdlib>
否则写
#include <stdlib.h>
支持向后兼容性的编译器假定该函数在其他地方声明,并且无法检查该函数的调用是否正确。