我有一个名为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 :(得分:1)
您需要为静态对象声明和初始化存储:
Object_Class *MyClass::object = nullptr;
void MyClass::setObject_Class(Object_Class *var) {
object = var;
}