C++ 使用嵌套类时发生LNK错误
每当我使用由我的主类的单例调用的嵌套类中的函数时,我就会得到一个LNK错误。。。我已经四处搜索,但MSDN上的答案都不适用于我关于修复此LNKEROR的问题C++ 使用嵌套类时发生LNK错误,c++,c++11,C++,C++11,每当我使用由我的主类的单例调用的嵌套类中的函数时,我就会得到一个LNK错误。。。我已经四处搜索,但MSDN上的答案都不适用于我关于修复此LNKEROR的问题 //MainClass.hpp class MainClass { public: static MainClass& get(); //singleton private: MainClass(); public: class NestedClass { public: NestedCla
//MainClass.hpp
class MainClass
{
public:
static MainClass& get(); //singleton
private:
MainClass();
public:
class NestedClass
{
public:
NestedClass();
public:
__forceinline void some_function();
};
public:
std::vector<NestedClass> get_nested_array();
private:
std::vector<NestedClass> array_of_nested; //gets filled in MainClass ctor
};
//SomeClass.cpp
SomeClass::SomeClass()
{
auto nesteds = MainClass::get().get_nested_array();
for(auto& n : nesteds) {
n.some_function(); //throws LNKError 2019 in MSVC
}
}
//MainClass.hpp
类主类
{
公众:
静态MainClass&get();//单例
私人:
main类();
公众:
类嵌套类
{
公众:
NestedClass();
公众:
__forceinline void some_函数();
};
公众:
std::vector get_nested_array();
私人:
std::vector数组_of_nested;//在main类中填充
};
//SomeClass.cpp
SomeClass::SomeClass()
{
auto nesteds=MainClass::get().get_nested_array();
用于(自动:嵌套(&n){
n、 某些_函数();//在MSVC中抛出LNKER或2019
}
}
ugh。。。把这个擦掉。我的问题与我在我的一些函数方法上使用uu forceinline有关,我忘了把它放在问题中。。。我道歉 请编辑您的问题,以包含您得到的确切错误消息。在某些情况下,您需要实现void MainClass::NestedClass::some_function()代码>MainClass.cpp中给出了实现。