这是代码,如果出现任何问题,请帮助我。
#include <iostream>
int main() {
char ch = 'A';
int num = ch;
cout << "The ASCII code for " << ch << "is " << num << "\n";
cout << "Adding 1 to the character code : \n";
ch = ch + 1;
num = ch;
cout << "The ASCII code for " << ch << "is " << num << "\n";
return (0);
}
我得到的错误就像
ex1.cpp: In function ‘int main()’:
ex1.cpp:6:5: error: ‘cout’ was not declared in this scope
ex1.cpp:6:5: note: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: note: ‘std::cout’
伙计们请纠正我的错误。
答案 0 :(得分:3)
问题是iostream标头为您提供了这些对象,但仅在std
命名空间下。使用限定名称,在其前面添加std::
:
std::cout << code;
通常建议您不使用using namespace std
,因为它会将令牌引入全局命名空间。最好使用命名空间前缀作为替代方法。
答案 1 :(得分:3)
全局cout
对象在std
命名空间中定义(非常类似于标准库中的所有内容,只有少数例外)。
因此,您可以完全限定名称(并使用std::cout
):
std::cout << "The ASCII code for " << ch << "is " << num << "\n";
// ...
或者引入使用声明:
using std::cout;
cout << "The ASCII code for " << ch << "is " << num << "\n";
// ...
避免错误,全局使用声明:
using namespace std;
将std
命名空间中定义的所有符号导入全局命名空间,从而导致名称冲突的高风险。这是糟糕的编程习惯,只能在有限的情况下使用。
答案 2 :(得分:0)
使用std::cout
或添加std
命名空间。把它放在文件的顶部:
using namespace std;
答案 3 :(得分:-1)
cout
是名称空间std
中定义的流。因此,当您使用它时,您必须在第一次使用cout之前编写std::cout
或者在全局范围内需要一行using std::cout
。