每次我在if语句的块及其else的块中初始化变量,并在之后使用它时,编译器会发出错误:未声明变量.例如:
if (/*Some expression*/)
int a=5;
else
int& a=c;
//...
a++; // Variable not declared
Run Code Online (Sandbox Code Playgroud)
我的编译器会说a未声明.关于除if语句之外的任何声明的主要问题是,在一种情况下,变量a必须是引用,必须在初始化时设置它.此外,我真的不想创建一个新的变量,除非它是必要的,它不是它可以作为参考.
还有别的我做错了吗?或者传递错误的方法?还是某种类型的变量原型?
C++中的变量具有特定类型; a不能int有时,有时也不能int &.所以你的代码没有任何意义.正如您已经发现的那样,变量的"范围"仅限于声明它们的块.
在不知道你想要解决的问题的情况下,我真的不能比这更具体.