我尝试编译时遇到错误的c ++新手

时间:2014-09-09 15:34:52

标签: c++ compiler-errors

所以我对编程完全不熟悉,而且我正在大学学习一门课程而且它已经超过了c ++,但它并没有教授基础知识。显然我应该对这个问题有一些先验知识,但这并没有告诉我。无论如何,我试图从书中复制这些代码,看看会发生什么,我无法编译。 我在Mac上使用Notepad ++。

下面是代码,它不会太长,所以希望我可以将它粘贴在这里。

int main()
{
    int a = 20000;
    char c = a;
    int b = c;
    if (a != b)
        cout << "Oops!: " <<a<< "!=" <<b<< "\n";
    else
        cout << "Wow! We have large characters\n";
}

然后当我在终端中编译它时,我收到此错误。


dhcp-10-202-146-180:programs Admin$ g++ unsafe_conversions.cpp
unsafe_conversions.cpp:7:3: error: use of undeclared identifier 'cout'
                cout << "Oops!: " <<a<< "!=" <<b<< '\n';
                ^
unsafe_conversions.cpp:9:3: error: use of undeclared identifier 'cout'
                cout << "Wow! We have large characters\n";
                ^
2 errors generated.

任何帮助都会非常感激,因为这对我来说是非常希望的。

2 个答案:

答案 0 :(得分:1)

请注意以下代码中的注释。编译器需要知道cout是标准库(std)的一部分,并且需要访问定义它的头文件(iostream)。

#include<iostream>                                   
// include the iostream header from the standard library (that contains std::cout)

int main()
{
    int a = 20000;
    char c = a;
    int b = c;
    if (a != b)
    {
        //use std::cout as it comes from the std library
        std::cout << "Oops!: " <<a<< "!=" <<b<< "\n";  
    }
    else
    {
        //use std::cout as it comes from the std library
        std::cout << "Wow! We have large characters\n";
    }
}

答案 1 :(得分:0)

Here是教程的链接。您可以在这里学习一些基础知识。至于您的代码,您需要包含一个语句#include <iostream>。它是一个头文件,其中包含cout<< cout的定义,在屏幕上显示字符流。您的代码基本上比较了字符c和整数a的ascii值。您还需要包含此声明using namespace std;