无法将 glm::mat4 元素push_back到头文件中声明的向量中
Can't push_back a glm::mat4 element into a vector declared in a header file
我在头文件中有一个向量a.h
:
// in a.h
class A {
public:
...
std::vector<glm::mat4> transforms;
}
我试图在a.cpp
文件中push_back()
一个对象:
// in a.cpp
glm::mat4 transform;
transforms.push_back(transform); // errors here
但我收到这些错误:
没有重载函数"std::vector<_Ty的实例, _Alloc>::p ush_back [with _Ty=glm::mat4, _Alloc=std::allocator]" 匹配参数列表和对象(对象具有阻止匹配的类型限定符)
和
'std::vector>::p ush_back':2 个重载 没有"this"指针的合法转换
如果我尝试直接在a.cpp
文件中声明向量,那么它可以工作:
// in a.cpp
std::vector<glm::mat4> foo;
foo.push_back(transform); // this works
这是怎么回事?当我在头文件中声明向量时,我做错了什么?
对象具有阻止匹配的类型限定符
关注这一点,因为这似乎是问题所在。这意味着您可能已经与向量有关,或者在您的 A 类中对其应用了一个常量类型限定符。这是我在没有更多信息的情况下能说的最好的话,因为很明显,问题不是向量本身。
为了获得更清晰、更明确的答案,您可能需要发布您正在使用的确切代码。
相关文章:
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 如何在目录及其子文件夹中构建文件名字符串向量?
- 尝试将字符串从文件读取到无符号字符向量中
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- 将结构向量保存到文件中,并从C++文件中读取结构向量
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 从.txt文件读取到C++中的双精度向量
- 遍历对象向量,并找到与从文本文件中提取的对象匹配的变量
- C++ 将 CSV 文件的列写入向量
- 数组向量的文件 I/O
- 如何在C++中将.csv文件的元素存储到二维向量中?
- 包含换行符分隔的单词的文件和C++中这些单词的字符串向量的大小是否相同?
- C++文件中的向量
- 如何从输入文件中读取字符并将其存储到向量中?
- 如何从文件中为C++中的向量赋值?
- 将无符号字符的向量写入二进制文件 c++
- 通过将文本文件读取为字符串/向量来计算加权/未加权 GPA
- 如何将目录中的文件属性填充到结构向量中?
- 如何从文件中读取 n 个字节并使用<uint8_t>迭代器将它们放入向量中?
- 如何使用向量 c++ 迭代文件中单词的位置