У меня есть класс с именем MyClass
объявлен следующим образом:C++ не может присвоить объекты, передаваемые в качестве указателя в методах переменной
#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 ошибки, указывающей на это назначение. Что я делаю неправильно, и как я могу это исправить? Это лучший способ передать объект и сохранить его в другой переменной класса, или есть лучший способ?
Он работает. Есть ли лучший способ передачи объектов и хранения их в частных переменных? – SexyBeast
У вас есть статическая * и * частная переменная, объявленная здесь. Ваш вопрос о частных переменных (экземплярах)? Или статические (a.k.a. class) переменные ... –
Umm, частные статические переменные? За исключением того, как эти переменные могут быть доступны за пределами класса, в котором они определены, будет ли какая-либо разница в том, как назначить им указатель объекта? – SexyBeast