gcc版本5.4.0(GCC)C++多重定義構造函數的錯誤消息似乎是錯誤的
> g++ -std=c++11
在構建我得到一個類構造函數多重定義錯誤消息。當我刪除構造函數時,我得到一個未定義的符號錯誤消息。我很難過。
NodeClass::NodeClass(...)
被標記爲
錯誤消息:
build/Debug/Cygwin64-Windows/nodeClass.o: In function `__gnu_cxx::new_allocator<std::string*>::~new_allocator()':
/c/home/skidmarks/Projects/MPHASH/mphash/NodeClass.cpp:36: multiple definition of `NodeClass::NodeClass(std::vector<std::string*, std::allocator<std::string*> >&)'
build/Debug/Cygwin64-Windows/NodeClass.o:/c/home/skidmarks/Projects/MPHASH/mphash/NodeClass.cpp:36: first defined here
頭文件:
# include <vector>
# include <gslip/SlipPointer.h>
class NodeClass : public SlipPointer
{
private:
vector<string*> vec;
public:
NodeClass(vector<string*>& vec);
virtual ~NodeClass() { };
private:
NodeClass(const NodeClass& orig) { };
};
源碼:
# include <vector>
# include "NodeClass.h"
using namespace std;
using namespace slip;
NodeClass::NodeClass(vector<string*>& vec) :
SlipPointer(new string("Cluster Node")), vec(vec) {}
缺少標題包括警衛? – user0042
這可能有幫助。 https://開頭計算器。COM /問題/ 12573816 /什麼 - 是 - 一 - 未定義參考懸而未決,外部符號錯誤和如何-DO-修復。 –
@ user0042:守衛在那裏。 @ R Sahu:鏈接處理未定義的符號。這是一個雙重定義的符號。 –