这是我的代码:
#include <iostream>
#include "rlutil.h"
#include <cmath>
#include <string>
using namespace std;
int getNumber()
{
int firstNumber;
int secondNumber;
cout << "Please Enter Your First Number." << endl;
cin >> firstNumber;
cout << "Please Enter Your Second Number." << endl;
cin >> secondNumber;
return 0;
}
int writeNumber()
{
getNumber();
rlutil::setColor(3);
cout << firstNumber + secondNumber << endl;
return 0;
}
当我编译它来检查它给我的错误时:
/home/bresser/Documents/LearnC++/main.cpp||在函数“int writeNumber()”中:| /home/bresser/Documents/LearnC++/main.cpp|24|错误:“firstNumber”未在此范围内声明| /home/bresser/Documents/LearnC++/main.cpp|24|错误:“secondNumber”未在此范围内声明| ||=== 构建完成:2 个错误,0 个警告 ===|
我有点明白它在说什么,只是不明白如何解决它。
最佳答案
最简单的修复是采取
int firstNumber;
int secondNumber;
在 getNumber 函数之外并赋予它们全局范围。也就是说,将它们放在代码中 using namespace std;
行的下方。
关于c++ - 使用代码 :Blocks on Linux 的 C++ 函数中的 "Not Declared in scope",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16172217/