我正在嘗試編寫一個基於接口的文件加載器,它將以多種方式爲不同的文件類型實現。我嘗試了所有在我腦海中找到的或在互聯網/互聯網上找到的組合,但我一直在收到錯誤。我究竟做錯了什麼?錯誤:在C++中實現接口模式時未定義的typeinfo引用
核心/ loader.h:
#ifndef CORE_LOADER_H
#define CORE_LOADER_H
class LoaderInterface
{
public:
virtual bool reloadFile();
};
#endif // CORE_LOADER_H
核心/ lodaer/own.h:
#ifndef CORE_LOADER_OWN_H
#define CORE_LOADER_OWN_H
#include "src/core/loader.h"
class Own : public LoaderInterface
{
public:
bool reloadFile();
};
#endif // CORE_LOADER_OWN_H
核心/裝載機/ own.cpp:
#include "src/core/loader/own.h"
bool Own::reloadFile(){
return true;
}
鏈接說:
(..)/qt/build-Foo-Desktop_Qt_5_7_0_GCC_64bit-Debug/own.o:-1: error: undefined reference to `typeinfo for LoaderInterface'
它無關的命名空間。或Qt。刪除這兩個,你仍然會得到相同的錯誤。 – juanchopanza
@juanchopanza隨意提出一個更合適的標題。 – Luke
「錯誤:使用不完整類型」如何?這會讓谷歌變得簡單。 – juanchopanza