我的Eclipse索引器烦人地无法解析stringstream typedef的目标,并在整个地方看到错误。
我的意思是,索引器会正确地注释stringstream ss;
声明,但它会抱怨对象的任何进一步使用(例如ss.str()
),例如“方法无法解决”
以下再现了行为:在菜单中,文件>新> C ++项目> Hello World项目,Linux GCC;然后用
替换内容#include <sstream>
int main() {
std::stringstream ss; // fine
ss.str(); // "method str could not be resolved"
std::basic_stringstream<char> ss2;
ss2.str(); // fine
}
我尝试过各种各样的东西,重建索引,“清理项目”,用eclipse -clean
重新启动Eclipse ...对于我的真实项目,我也尝试从Eclipse中删除项目,删除.project / .cproject文件并再次导入(作为makefile项目)。
但到目前为止无济于事,至少对我的真实项目而言。对Hello World项目来说奇怪的是,上面的随机组合有时会解决问题(在某些情况下,我可能会在我的列表中有两个Hello World项目,一个没有它的错误一个。)
此外,如果我打开iosfwd
标题(包含stringstream
声明/ typedef)basic_stringstream
标记出现白色/未注释,与其他类名称不同(例如basic_iostream
会出现绿色作为班级名称应该)。无论我是否将访问声明的项目看作stringstream :: str作为错误,都是如此。
版本:Eclipse-CDT 4.5.2 / 8.8.1,GCC 5.4.0
问题可能来自哪些想法?
答案 0 :(得分:0)
我发现了一个有点普遍的黑客,它主要解决了这个问题:
#define stringstream basic_stringstream<char>
(通过项目属性&gt;一般&gt;路径和符号&gt;符号)