В моем коде на C++ у меня есть такое определение;Использование extern & inline
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' - указатель. Вероятно, он не был инициализирован. Где объявляется 'a'? –
Указатель должен указывать правильную ячейку памяти. – Mahesh
Вы должны предоставить [mcve] (http://stackoverflow.com/help/mcve), чтобы другие люди вам помогли ... –