【发布时间】:2013-11-29 02:57:14
【问题描述】:
我知道问题出在哪里,我只是不确定为什么我没有从 gcc 得到任何错误输出。
产生问题的有问题的行是:
std::string type,rel,pred;
std::tie( type, rel, pred ) = tuple;
auto supertype = std::make_shared<Node>( Token( type ) ); // This
auto predicate = std::make_shared<Node>( Token( pred ) ); // and this
仅供参考,Node Ctor 是:
Node ( Token & token )
如果我这样做,我不会收到任何错误:
auto type_token = Token( type );
auto pred_token = Token( pred );
auto supertype = std::make_shared<Node>( type_token );
auto predicate = std::make_shared<Node>( pred_token );
我的 GCC 是:
posix gcc 版本 4.7.3 (Debian 4.7.3-8)
实际错误是:
> Internal compiler error: Error reporting routines re-entered. Please
> submit a full bug report, with preprocessed source if appropriate. See
> <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
有趣的是,上面的这个目录甚至都不存在。
在 make_shared 构造函数中构造对象有什么问题?
【问题讨论】:
标签: c++ gcc c++11 constructor shared-ptr