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