主题:新手问题
xin310923
[专家分:0] 发布于 2011-04-06 15:25:00
#include<iostream>
using namespace std;
int d=1;
void fun(int);
int main()
{
int a=3;
fun(a);
d+=a++;
cout<<d<<endl;
return 0;
}
void fun(int a)
{
int d=5;
d+=a++;
cout<<d<<"";
}
这段程序在VC 6.0编译通过 但在VS 2010下 却没通过 这是什么原因呢??
回复列表 (共8个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-04-06 16:02:00
错误提示?
该不会是因为文件最开始没有:
#include "stdafx.h"
这行吧:)
板凳
xin310923 [专家分:0] 发布于 2011-04-06 16:19:00
不对 还是不行 通过不了
1>c:\users\administrator.pc--20110309brg\documents\visual studio 2010\projects\2\2\2.cpp(1): warning C4627: “#include <iostream>”: 在查找预编译头使用时跳过
1> 将指令添加到“StdAfx.h”或重新生成预编译头
这是我调试出来的结果 是什么意思呢。
3 楼
dongyuanxun [专家分:7180] 发布于 2011-04-06 17:23:00
lz程序是什么错误呢?
console不Yu的话,不需要stdafx.h
在我这里vc2010是没问题的
4 楼
xin310923 [专家分:0] 发布于 2011-04-06 19:27:00
额。。。我这里居然显示错误 不知道是不是需要设置VS 2010编译器
5 楼
cgl_lgs [专家分:21040] 发布于 2011-04-06 22:40:00
很明顯LZ并不是用CONSOLE,應該是用向導生成的工程然后。。。。
樓主在原有的代碼基礎上,主文件最頂上加上一行:
#include "stdafx.h"
并把:
#include <iostream>
這行轉移到“StdAfx.h”這個文件中再試試吧:)
6 楼
xin310923 [专家分:0] 发布于 2011-04-06 23:53:00
#include"stdafx.h"
#include<iostream>
using namespace std;
int d=1;
void fun(int);
int main()
{
int a=3;
fun(a);
d+=a++;
cout<<d<<endl;
return 0;
}
void fun(int a)
{
int d=5;
d+=a++;
cout<<d<<"";
}
调试显示后
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
1>D:\VS 2010\程序\10\Debug\10.exe : fatal error LNK1120: 1 个无法解析的外部命令
这是什么意思呢???
7 楼
cgl_lgs [专家分:21040] 发布于 2011-04-07 00:28:00
創建成WIN程序了,應該創建Console程序。
8 楼
xin310923 [专家分:0] 发布于 2011-04-07 13:08:00
谢谢 cgl 终于弄懂怎么操作了。
我来回复