我在这段代码中使用std :: unique_ptr,它编译并按我的预期运行。Eclipse CDT索引和std :: unique_ptr
std::stringstream out;
out << std::setw(3) << std::setfill('0') << i;
std::unique_ptr<std::string> s(new std::string(out.str()));
s->insert(s->end()-2, 1, '.');
return std::move(s);
但是,我收到来自Eclipse CDT的错误消息。在第四行:Method'insert'无法解析,Method'end'无法解析。
以前,我在std :: unique_ptr这个名字的外观上也出现错误。这可以通过设置预处理器符号__GXX_EXPERIMENTAL_CXX0X__
并重建索引来解决,如this问题的答案中所述。
有没有办法让CDT明白s是std :: string *类型,并且它应该在std :: string中查找s-> insert()和s-> end()?
PS:我使用Eclipse 3.7.1和CDT 8.0.0.201106081058
PS2:我本来希望这张贴在上面的问题中留言,但我做不到,大概是因为我是一个新用户
我可以证实,它在CDT 8.1.2工作 – Nobody