外部和内联的使用
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" 语句。
在我的 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" 语句。