【发布时间】:2016-12-20 00:04:51
【问题描述】:
在我的代码中,我有一个具有以下结构的类:
struct AutomatonNode {
...
AutomatonNode();
AutomatonNode(AutomatonNode &node);
...
};
默认构造函数有以下实现:
AutomatonNode::AutomatonNode() :
suffixLink(-1),
len(0) {};
但是,在编译过程中出现以下错误:
'SA::AutomatonNode'的初始化没有匹配的构造函数
在这个方法中:
size_t SuffixAutomaton::newState() {
AutomatonNode node;
nodes.push_back(node);
return nodes.size() - 1;
}
对我来说看起来非常奇怪,因为一切都到位并且构造函数是公共的(它是一个结构,默认情况下所有字段都是公共的)。有什么想法吗?
清关:
Apple LLVM 版本 7.3.0 (clang-703.0.31)
目标:x86_64-apple-darwin15.3.0
线程模型:posix
【问题讨论】:
-
如果复制构造函数采用 const ref 是否有效?
标签: c++ class oop object constructor