请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么代码可以在MinGW里运行却不能在MSVC里运行?

49 void HandleVara(int arg_count, ...){
50  va_list args;
51  va_start(args, arg_count);
52  for (int i = 0; i<arg_count; i++){
53    int arg = va_arg(args,int );
54    printf("%d: %d\n",i,arg);
55 }
56  va_end(args);
57 }

[ Build | test | Debug ]================
E:\clion\bin\cmake\win\bin\cmake.exe --build D:\clionworkshop\test\cmake-build-debug --target test
Scanning dependencies of target test
[ 33%] Building C object CMakeFiles/test.dir/main.c.obj
main.c
D:\clionworkshop\test\main.c : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\clionworkshop\test\main.c(50) : error C2143: 语法错误 : 缺少“)”(在“&”的前面)
D:\clionworkshop\test\main.c(50) : error C2143: 语法错误 : 缺少“{”(在“&”的前面)
D:\clionworkshop\test\main.c(50) : error C2059: 语法错误:“&”
D:\clionworkshop\test\main.c(50) : error C2059: 语法错误:“)”
D:\clionworkshop\test\main.c(51) : error C2059: 语法错误:“for”
D:\clionworkshop\test\main.c(51) : error C2143: 语法错误 : 缺少“{”(在“<”的前面)
D:\clionworkshop\test\main.c(51) : error C2059: 语法错误:“<”
D:\clionworkshop\test\main.c(51) : error C2143: 语法错误 : 缺少“{”(在“++”的前面)
D:\clionworkshop\test\main.c(51) : error C2059: 语法错误:“++”
D:\clionworkshop\test\main.c(51) : error C2059: 语法错误:“)”
D:\clionworkshop\test\main.c(55) : error C2143: 语法错误 : 缺少“)”(在“=”的前面)
D:\clionworkshop\test\main.c(55) : error C2373: “args”: 重定义;不同的类型修饰符
D:\clionworkshop\test\main.c(49) : 参见“args”的声明
D:\clionworkshop\test\main.c(55) : error C2059: 语法错误:“)”
D:\clionworkshop\test\main.c(55) : warning C4047: “初始化”:“int”与“va_list”的间接级别不同
D:\clionworkshop\test\main.c(56) : error C2059: 语法错误:“}”
NMAKE : fatal error U1077: “D:\vs2013workshop\VC\bin\amd64\cl.exe”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “D:\vs2013workshop\VC\BIN\amd64\nmake.exe”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “D:\vs2013workshop\VC\BIN\amd64\nmake.exe”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “D:\vs2013workshop\VC\BIN\amd64\nmake.exe”: 返回代码“0x2”
Stop.

正在回答

1回答

D:\clionworkshop\test\main.c : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失


你代码里面有中文吧。把文件编码改成 gbk 在 msvc 下运行。

1 回复 有任何疑惑可以回复我~
  • 提问者 慕容1757090 #1
    谢谢,已经可以运行
    回复 有任何疑惑可以回复我~ 2020-12-07 19:54:44
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信