c ++'total'未在此范围内声明。主要

时间:2018-01-31 00:18:14

标签: c++ function main declare

#include <iostream>
using namespace std;

int population(int current_pop)
{
   int Time;
   int birth;
   int immigrant;
   int death;
   int total;
   Time = 24*60*60*365; // convet day to second
   birth = Time/8;
   death = Time/12;
   immigrant = Time/33; // calculate the rate of the death, birth,immigrant
   total = birth+immigrant-death+current_pop; // make sum
   return total;
}

int main() {
   int current_pop = 1000000;
   population(current_pop); //test
   cout << total << endl;
}

它只显示错误:'total'未在此范围内声明      cout&lt;&lt;总&lt;&lt; ENDL;

为什么呢?如果我已经声明了一个值,我应该在main函数中再次声明它吗?

2 个答案:

答案 0 :(得分:2)

不同函数中具有相同名称的变量存储不同的值。他们是完全无关的。在开始编程时,它需要一些习惯。试试这个:

Sending data

答案 1 :(得分:1)

与错误说的一样,您在total内声明了population()变量,这在main()函数中不可用。 population()函数将拥有自己的作用域,以便在其中声明的任何变量只能在那里访问 要使其可用,您需要在main()内声明它。

int main() {
    ...
    int total = population(current_pop);
    ...
}