c++ - 在带有 ReSharper 的 VS 中使用 glm::vec3 时出现“不完整类型”警告
问题描述
我正在学习 OpenGL 教程,我有一个简单的 .h 文件,我在其中创建了一个构成顶点格式的结构。我在 glm::vec3 字段中收到不完整的类型错误。这是我第一次尝试使用 glm 库。你知道我错过了什么吗?
我读了一些关于不完整类型的答案,但他们似乎都在谈论递归包含,而我似乎没有。
#pragma once
#include <glm/glm.hpp>
struct VertexFormat {
glm::vec3 position; //error here
VertexFormat(const glm::vec3 &pos) {
position = pos; //and here
}
};
单词 vec3 用“类型 'glm::vec<3, float, 0>' 不完整”下划线,然后单词位置带有“不能分配给不完整的类型 'glm::vec<3, float, 0>'” "
编辑: 问题出在 IDE 中——我只是注释了代码的其他未完成部分,以便我可以编译,尝试使用 VertexFormat 编写一些代码,它编译并运行得很好(尽管仍然用红色下划线)。我正在使用带有 ReSharper Ultimate 扩展的 Visual Studio 2017。我从官方网站下载了 glm,由于 lib 只是头文件,我只是将带有头文件的 glm 文件夹复制到 /include 内的解决方案目录中,其中我还有另一个文件夹 GL,其中包含 GLEW 和 FreeGLUT(工作正常)。glm.hpp #includes 中的所有其他 glm 标头。在项目属性中,我有 $(SolutionDir)/include 作为附加的包含目录。
解决方案
请更新到最新的 ReSharper 版本 - 最初的 2019.1 版本中存在一个可能导致此问题的错误(有关详细信息,请参阅RSCPP-26279)。
推荐阅读
- visual-studio-code - Visual Studio Code 中的行注释格式
- r - 计算 R 中观察到的月份数
- python - 在父类python selenium中导入方法
- date - 带日期的 Hive 查询
- regex - 如何使用正则表达式在 Bash 中查找递归子字符串?
- excel - 如何使用vba在excel的列中查找重复项,然后弹出一个Msgbox?
- c# - 使用 HTTP 部分内容播放 html 5 视频时,Chrome 会锁定 HTTP 端口
- chef-infra - 厨师刀命令:刀菜谱上传样本时出现错误
- java - 如何从其他类访问arrayLists(可能在其他包中)
- vba - 通过细胞矩阵选择细胞