#include <iostream>
using namespace std;
int b=10;
//b=100;
int main(int argc, char *argv[])
{
cout<<b<<endl;
return 0;
}
如果删除注释会出现错误。b = 100
为什么会这样。否则输出为 10。错误:C++ 需要所有声明的类型说明符。
#include <iostream>
using namespace std;
int b=10;
//b=100;
int main(int argc, char *argv[])
{
cout<<b<<endl;
return 0;
}
如果删除注释会出现错误。b = 100
为什么会这样。否则输出为 10。错误:C++ 需要所有声明的类型说明符。
全局范围只能包含声明和定义,不能包含任意语句。
C++ 认为您正在尝试声明和定义另一个名为b
.
表达式语句(如b=100;
)必须在函数内部。
在函数之外,可以声明和初始化变量,但不能直接执行任意代码。
你会得到那个特定的错误,因为编译器将代码解释为没有类型说明符的声明(即int b=100;
缺少类型说明符int
),而不是作为它不期望这样的事情的表达式语句。在 C 中允许这样的声明(尽管在这种情况下,它会失败,因为已经有一个名为 的变量b
),但在 C++ 中不允许。
您不能分配给全局范围内的变量,除非在初始化时。
你必须做
b = 100;
里面主要。您不能在函数外更改已声明的变量。
任何语句都应该出现在函数内部。全局变量可以在函数体外部定义和初始化。但赋值应该在某个函数体内。