#include <stdio.h>
void foo(void);
void foo(int repeatCount) {
int i;
for (i = 0; i < repeatCount; i++) {
printf("\nHello World\n");
}
}
int main(int argc, char *argv[]) {
printf("main");
}
这是C,而不是C ++。 VS中的文件保存为.c文件,IDEOne中的程序配置为C文件。
原型与功能定义不匹配。
答案 0 :(得分:2)
因为VS studio不符合标准C并使用自己的编译器。
使用标准C,您应该看到类似的内容:
gsamaras@gsamaras-A15:~$ gcc -Wall main.c
main.c:5:6: error: conflicting types for ‘foo’
void foo(int repeatCount) {
^
main.c:3:6: note: previous declaration of ‘foo’ was here
void foo(void);
^
main.c: In function ‘main’:
main.c:14:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
VS使用什么编译器?
编译器名为Microsoft C / C ++编译器。 cl.exe是一个控制Microsoft C和C ++编译器和链接器的工具。您可以使用其他编译器:英特尔C和C ++编译器,安装后在Visual Studio中自动配置。