回 帖 发 新 帖 刷新版面

主题:菜鸟小问题 VC2005

程序如下:Visual studio 2005中 VC++环境下
#include "stdafx.h"
#include <iostream>
//Function prototypes
bool SayHello(char* szTo, int nCalc);
void SayGoodbye();
//Constants
#define NUMERO_UNO 1
const char* OLD_FRIEND = "old friend, for now.";

int _tmain(int argc, _TCHAR* argv[])
{
    char* szCpp = "C++!"; //Declare a variable.
    //Call a function with a Boolean result.
    if(SayHello(szCpp,2))
    {
        //Call a function with no result.
        SayGoodbye();
    }
    return 0;
}


bool SayHello(char* szTo, int nCalc)
{
    //Use an iostream object for output.
    cout<<"Hello,"<<szTo<<"You're Number "<<NUMERO_UNO<<".\n";
    return(nCalc + (nCalc*2))<(24/nCalc);
}
void SayGoodbye()
{
    cout<<"Bye, "<<OLD_FRIEND<<endl;
}

编译后提示的错误信息:
1:error C2065: 'cout' : undeclared identifier
2:error C2065: 'endl' : undeclared identifier

问题:
1、头文件iostream中不是已经定义了cout 和 endl了吗?怎么还有这样的错误呢?
2、VC2005中的主函数int _tmain(int argc, _TCHAR* argv[])中的_tmain与以前的版本有什么区别吗?
多谢各位大虾的帮助!Thanks a lot!

回复列表 (共3个回复)

沙发

VC.NET使用新的C++标准,在代码开头写上
using namespace std;即可使用cout等。

板凳


#include <iostream>
改为: 
#include <iostream.h>

或:
在代码开头写上
using namespace std

3 楼

非常感谢二位的热心解答,问题已经得以解决。
不好意思,以前没用过VS.net,问了这么初级的问题。谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册