VS Code中broker.h头文件#ifndef处报includePath错误且配置正常原因问询
问题原因
报错定位在#ifndef _BROKER_行属于VS Code C/C++插件的IntelliSense误标,实际错误根源是后续引用的自定义头文件解析失败,和标准库无关,因此只引用标准库的HelloWorld程序可以正常运行。
解决方案
按以下顺序排查即可解决:
- 修正配置路径
在c_cpp_properties.json的includePath配置项中添加工作区递归搜索规则:"${workspaceFolder}/**",该配置会自动检索你项目目录下所有自定义头文件。如果你的strategy.h、utils.h放在项目的独立include目录中,额外添加对应目录的路径即可,比如"${workspaceFolder}/include"。 - 检查自定义头文件合法性
确认项目目录下确实存在strategy.h、utils.h两个文件,文件名大小写完全匹配,拼写没有错误,后缀名和引用格式一致。 - 修正代码语法错误
你当前代码中存在的语法错误会导致IntelliSense解析失败,误报include错误,需先修复:update_data函数中未定义变量i,将所有cashs[i]、positions[i]等中的i替换为参数date_indexset_data函数的模板参数中map<string, vector<T>>>多了一个右尖括号,改为map<string, vector<T>>performance函数中daily_Err定义行多了半个左括号,改为vector<vector<double>> daily_Err = sum_vectors(pop_front(daily_return), pop_front(daily_return_mean));
- 重置IntelliSense缓存
按下Ctrl+Shift+P调出命令面板,选择C/C++: 重置IntelliSense数据库,重启VS Code后报错即可消失。
内容的提问来源于stack exchange,提问作者hyemin ju
相关产品推荐
相关产品推荐

