2015-06-15 2 views
1
#include <iostream> 
using namespace as std; 

int x; 
x=10; 

int main() 
{ 
cout<<x<<endl; 
return 0 
} 

Это дает ошибку, но если я использую:Определение и Объявляя глобальную переменную в C++

int x=10; 

вместо:

int x; 
x=10; 

Он отлично работает. Может ли кто-нибудь указать на проблему? Компилятор считывает ошибку:

expected constructor, destructor, or type conversion before '=' token compilation terminated due to -Wfatal-errors.

ответ

2

из тела функции вы можете только объявить (Int х;) или объявить и инициализировать (Int х = 10;) переменные. Здесь вы пытались присвоить значение (x = 10;) переменной, которая была объявлена ​​ранее.

+0

если я пишу int x; х = 10; внутри main(), то он работает. Итак, вы имеете в виду то, что вы сказали выше, относится только к глобальной переменной. –

+0

Да, это применимо только к глобальным переменным. Только глобальные переменные могут быть объявлены вне тела main() или другой функции. –

Смежные вопросы