为什么在类内部调用静态属性的成员方法时出现“未解析的外部符号”?

问题描述 投票:0回答:0
class c_class2 {
public:
    void close() {}
};

class c_class1 {
    static c_class2 c2;

public:
    void call()
    {
        c2.close();
    }
};

int main()
{
    c_class1 c1;
    c1.call(); // ERROR: LNK2001 "private: static class c_class2 c_class1::c2" (?c2@c_class1@@0Vc_class2@@A)

}

我是 C++ 新手。我尝试给类添加静态属性(其他类),并在类内部调用静态属性类的方法,但是编译器提示“无法解析的外部符号”。我想知道为什么会出现这种情况?

环境:

  • Windows 10

  • Visual Studio 2019

  • C++14

visual-c++ c++14
© www.soinside.com 2019 - 2024. All rights reserved.