注册 登录
编程论坛 C++教室

刚学C++;有个疑问

Sheldon 发布于 2010-06-26 13:27, 1179 次点击
#include <iostream.h>


int Add(int first, int second)
{
    std::cout << "In Add(),recieved " << first << "and " << second << "\n";
    return (first+second);
}

int main()
{
    using std::cout;
    using std::cin;
   
    count << "I'm in main()!\n";
    int a, b, c;
    cout << "Enter two numbers: ";
    cin >> a;
    cin >> b;
    cout << "\nCalling Add();\n";
    c=Add(a,b);
    cout << "\nBack in main().\n";
    cout << "c was set to " << c;
    cout << "\nExiting...\n\n";
    getchar();
    return 0;
}

为什么在VC 6.0老是说    error C2653: 'std' : is not a class or namespace name
我照着例题输的。。。
用Dev-C++又可以
14 回复
#2
lampeter1232010-06-26 13:42
你没有写名字空间
在开头要写
using namespace std;
#3
Sheldon2010-06-26 14:14
#include <iostream.h>

using namespace std;

int Add(int first, int second)
{
    std::cout << "In Add(),recieved " << first << "and " << second << "\n";
    return (first+second);
}

int main()
{
    using std::cout;
    using std::cin;
   
    cout << "I'm in main()!\n";
    int a, b, c;
    cout << "Enter two numbers: ";
    cin >> a;
    cin >> b;
    cout << "\nCalling Add();\n";
    c=Add(a,b);
    cout << "\nBack in main().\n";
    cout << "c was set to " << c;
    cout << "\nExiting...\n\n";
    getchar();
    return 0;
}

error C2871: 'std' : does not exist or is not a namespace
error C2653: 'std' : is not a class or namespace name

[ 本帖最后由 Sheldon 于 2010-6-26 14:44 编辑 ]
#4
sdg4302010-06-26 14:34
count << "I'm in main()!\n";
输出都是错的cout,头文件下添加using namespace std; 即可
#5
李臣2010-06-26 15:28
#include <iostream.h>
int Add(int first, int second)
{
  cout << "In Add(),recieved " << first << "and " << second << "\n";
  return (first+second);
}

int main()
{
   cout << "I'm in main()!\n";
    int a, b, c;
    cout << "Enter two numbers: ";
    cin >> a;
    cin >> b;
    cout << "\nCalling Add();\n";
    c=Add(a,b);
    cout << "\nBack in main().\n";
    cout << "c was set to " << c;
    cout << "\nExiting...\n\n";
    return 0;
}
改成这样试下,看可不可以
#6
lintaoyn2010-06-26 17:23
#include <iostream.h>
#include<iostream>//加上这个,嘿嘿

int Add(int first, int second)
{
    std::cout << "In Add(),recieved " << first << "and " << second << "\n";
    return (first+second);
}

int main()
{
    using std::cout;
    using std::cin;
   
    count << "I'm in main()!\n";
    int a, b, c;
    cout << "Enter two numbers: ";
    cin >> a;
    cin >> b;
    cout << "\nCalling Add();\n";
    c=Add(a,b);
    cout << "\nBack in main().\n";
    cout << "c was set to " << c;
    cout << "\nExiting...\n\n";
    getchar();
    return 0;
}
#7
南国利剑2010-06-26 17:24
这样肯定不会报错,
#include<iostream>
using namespace std;
不要用.h
#8
Sheldon2010-06-26 23:00
#include<iostream>对了,没报错
为什么不能加.h呢?
头文件不都是.h的么?
#9
autumn27792010-06-26 23:23
这个应该是各个编译系统的原因吧
#10
caimingseed2010-06-27 14:16
我想问一下,这里的getchar()有什么用?#include<iostream.h>是以前c语言的写法,以下这样也可以编译成功
#include <iostream.h>

int Add(int first, int second)
{
    cout << "In Add(),recieved " << first << "and " << second << "\n";
    return (first+second);
}

int main()
{
  
   
    cout << "I'm in main()!\n";
    int a, b, c;
    cout << "Enter two numbers: ";
    cin >> a;
    cin >> b;
    cout << "\nCalling Add();\n";
    c=Add(a,b);
    cout << "\nBack in main().\n";
    cout << "c was set to " << c;
    cout << "\nExiting...\n\n";
    //getchar();
    return 0;
#11
zhengjuying2010-06-28 08:39
回复 10楼 caimingseed
getchar()就是输入一个字符
#12
zhengjuying2010-06-28 08:39
getchar()就是输入一个字符
#13
wwbx00002010-06-29 09:45
getchar()  

是C程序调试运行时候经常用的防止命令行程序窗口自动关闭的方法之一。。。当然是在学校常用的方法

估计是写这程序的人刚从C转过来  编程习惯还没改为C++的  C++本来就包含C的库  
所以你用C的方法也可以在C++编译器里实现
#14
tyyy2010-06-29 11:32
只需要将包含的头文件 写成#include <iostream>就行了,因为后面申明了cout和cin的命名空间,所以连using namespace std;都省略了
#15
rainbow12010-06-29 12:31
以下是引用Sheldon在2010-6-26 23:00:59的发言:

#include对了,没报错
为什么不能加.h呢?
头文件不都是.h的么?
C++ 标准不用。用的话是照顾从C转过来的。
1