我想強制方法(或構造函數)參數的默認值某種形式的語義邏輯。這是我曾嘗試:鏈接器問題與構造函數參數的默認值
#include <iostream>
#include <vector>
class Test
{
public:
static const std::vector<int> staticVector;
Test (const std::vector<int> &x = Test::staticVector) {}
};
int main()
{
Test x;
return 0;
}
雖然staticVector是相當多餘的,因爲C++不允許NULL作爲性病的實例:: vector的傳遞,我希望避免給構造STD冗餘呼叫: :向量(),所以我想出了這個辦法...
不幸的是,當我嘗試編譯,鏈接器引發此錯誤:
error LNK2001: unresolved external symbol "public: static class std::vector<int,class std::allocator<int> > const Test::staticVector" ([email protected]@@[email protected][email protected]@[email protected]@@[email protected]@B)
缺少什麼我在這裏?
定義'staticVector'。 – chris
@chris是的,這是問題所在。謝謝。 –