CodeBlocks编译错误。未在此范围内声明Cin

时间:2019-04-23 11:46:03

标签: c++

当我想编译代码时,给我一个错误...在此范围内未声明cout和cin。有什么问题吗?

我在Google上进行了搜索。他们说我需要重新安装代码块。我已经做到了,而且没有用。

#include <iostream>


int main()
{
    int n,z,c;
    cin>>n;
    z=0;
    while(n>0)
    {
        c=n%10;
        n=n/10;
        if(c<5)
        {
            z=z*10+2*c;
        }
    }
    cout << z;

    return 0;
}

它应该编译...

3 个答案:

答案 0 :(得分:0)

只需将此using namespace std;添加到#include <iostream>之后。或使用std::cin std::cout

答案 1 :(得分:0)

还发布了3 rd 方法(在两个现有答案之间妥协-已在注释中提到),我认为这种方法最适合当前情况。这是我最喜欢的(当然,当我使用命名空间中的很多东西时除外)。

添加:

using std::cin;
using std::cout;
#include之后的

。这样:

  • 您避免using namespace X;地狱。这是一个很大的 NO-NO ,有很多资源可以解释原因(您可以在{em> Python 中检查[SO]: what is the reason for using a wildcard import? (@CristiFati's answer)的等效内容)
  • 您不必每次都键入完全限定名称(只需输入纯名称)即可。使用 FQN 可以是/是:
    • 非常烦人(尤其是在处理嵌套名称空间时)
    • 安全
    • 更容易阅读

答案 2 :(得分:-1)

添加Transformersstd::cin将解决此问题 如果您不想一次又一次添加std :: 您也可以在std::cout之后添加using namespace std;


发生这种情况是因为cin和cout是标准库的成员。