[英]Usage of extern & inline
在我的C ++代码中,我有这样的定义;
class A {
int i;
public:
void setI(int temp) {
i = temp;
}
};
extern A* a;
之后,我有了一个函数,该函数用从参数获得的流填充a的变量。
inline void Func() {
... // Stream definition with ifstream etc.
int k;
stream >> k;
a->setI(k); // Gives segmentation fault...
}
可能是什么原因? 提前致谢...
在初始化代码中的某处使用a = new A()
。 更好的方法是使用参数调用Func(A *a)
,而不是使用“ extern”语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.