更新: Igor在评论中回答了这个问题。结果我错过了我的拷贝构造函数中的const
。
我正在编写一个可以存储在unordered_map
中的类,并且所有内容在语法上都是正确的。然而,当我编译时,编译器会返回一些奇怪的错误,这些错误似乎与__is_direct_constructible_new
有关。该错误还建议尝试编译为-ftemplate-backtrace-limit=0
,但这会导致另一个错误,所以我宁愿不弄乱编译器标志,而是找到问题的根源。
话虽如此,我的问题是:我应该添加什么才能使我的课程“直接可构建”?
我在下面列出了该类的一般化样本。
我尝试在this post中遵循一些相关的建议,但那些没有帮助。
我还确保问题不是由密钥或密钥的哈希引起的。
我以前从未碰到这个,所以我不确定如何让这个课程直接可构建。
这是我所指的类的通用版本:
class Data
{
public:
// variables
// pointers
// member functions
Data(); // Sets variables to 0 and pointers to NULL
Data(ifstream& dataFile); // Initializes from a file
Data(Data& original); // Copy constructor
~Data();
};
如果它有所不同,我尝试从here编译MinGW 32位和64位版本的MinGW 4.8.3。