C ++ не может назначать объекты, переданные как указатель в методах, переменной

У меня есть класс с именем MyClass заявлено следующим образом:

#pragma once

class Object_Class;

class MyClass
{
static Object_Class *object;

public:

static void setObject_Class(Object_Class *var);
};

object является частной статической переменной, которая указывает на объект класса Object_Class, В файле реализации я пытаюсь сделать это:

void MyClass::setObject_Class(Object_Class *var) {
object = var;
}

Тем не менее, я получаю символ не найден для архитектуры i386 ошибка, указывающая на это назначение. Что я делаю не так, и как мне это исправить? Это лучший способ передать объект и сохранить его в другой переменной класса, или есть лучший способ?

0

Решение

Вам необходимо объявить и инициализировать хранилище для статических объектов:

Object_Class *MyClass::object = nullptr;

void MyClass::setObject_Class(Object_Class *var) {
object = var;
}
1

Другие решения


По вопросам рекламы [email protected]