Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用嵌套类时发生LNK错误_C++_C++11 - Fatal编程技术网

C++ 使用嵌套类时发生LNK错误

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

每当我使用由我的主类的单例调用的嵌套类中的函数时,我就会得到一个LNK错误。。。我已经四处搜索,但MSDN上的答案都不适用于我关于修复此LNKEROR的问题

//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中给出了实现。