请问怎么使用程序块中定义的变量
请教如何使用程序块中定义的变量?
比如if语句块
if(判断s是否为a类型){
double *r;
}else{
bool *r;
}
接下来要用到r,可以把bool类型的*r强制转换为double;
但是编译器会提示r没有定义,我该怎样才能直接用r呢
加static好像不行吧
小弟新手见笑了
------解决方案--------------------
程序块中定义的变量只能在程序块中使用
单就楼主这个问题来看,没戏
C/C++是静态编译语言,变量的类型在编译期就已经确定,不可能做到在运行时更改类型
如果用void*来保存地址,再设一个变量用来表示类型,运行时根据后者来强制转换前者,也不是不可以,但本质上这其实就相当于延长了if的程序块,你还不如直接把if那两个程序块写长点
------解决方案--------------------
生命周期不一样
比如if语句块
if(判断s是否为a类型){
double *r;
}else{
bool *r;
}
接下来要用到r,可以把bool类型的*r强制转换为double;
但是编译器会提示r没有定义,我该怎样才能直接用r呢
加static好像不行吧
小弟新手见笑了
------解决方案--------------------
程序块中定义的变量只能在程序块中使用
单就楼主这个问题来看,没戏
C/C++是静态编译语言,变量的类型在编译期就已经确定,不可能做到在运行时更改类型
如果用void*来保存地址,再设一个变量用来表示类型,运行时根据后者来强制转换前者,也不是不可以,但本质上这其实就相当于延长了if的程序块,你还不如直接把if那两个程序块写长点
------解决方案--------------------
生命周期不一样