qwerty qwerty - 1 year ago 71
C++ Question

Usage of extern & inline

In my C++ code, I have a definition like that;

class A {
int i;
void setI(int temp) {
i = temp;

extern A* a;

After that I have a function which fills the variable of a with some stream obtained from arguments.

inline void Func() {
... // Stream definition with ifstream etc.
int k;
stream >> k;
a->setI(k); // Gives segmentation fault...

What can be the reason?
Thanks in advance...

Answer Source

Use a = new A() somewhere in your initilization code. A more better way would be to call Func(A *a) with an argument instead of using your "extern" statement.