C++不能将数据放入向量中
c++ can't put data into vector
我有一个数据结构和一个处理器类的数据,数据堆叠没有指针更快的SIMD处理:
struct trajectory_data {
float position[3];
float velocity[3];
float acceleration[3];
...
};
class trajectory_processor{
private:
vector<trajectory_data> tdata;
vector<trajectory_data> default_data;
...
};
但我实际上没有向向量添加数据集,这两种方法都不起作用:
trajectory_processor::trajectory_processor(){
// gives error: no match for ‘operator=’ in ...
trajectory_data d0();
default_data[0] = d0;
// gives error: no matching function for call to
// ‘std::vector<trajectory_data>::push_back(trajectory_data (&)())
trajectory_data d1();
default_data.push_back(d1);
};
根据push_back参考和c++ vector push_back,我认为这应该很容易,但即使经过几次谷歌搜索,我也找不到任何答案。
这个项目涉及html/javascript的交叉编码,每次我切换回c++时,我似乎都遇到了这样的瓶颈,它开始让我心烦。
你似乎是最令人烦恼的解析的受害者。基本上,
这行trajectory_data d1();
实际上声明了一个函数d1,它不接受参数,返回一个trajectory_data
对象。
更改为
trajectory_data d1;
应该解决你的问题,同样的d0
。默认构造函数无论如何都会被调用,不需要()
.
试试这个:default_data.push_back(trajectory_data());
将trajectory_data d0();
更改为trajectory_data d0;
第一个声明了一个函数d0
,该函数不接受参数并返回trajectory_data
。
第二个命令显式地创建了trajectory_data
的实例d0
。
这也适用于trajectory_data d1();
相关文章:
- 很好的语法来获取对向量/数组数据的大小引用?
- 在类 A 中创建类型为 B 类的向量 - 访问数据 [C++] [成员在两个类中都是私有的]
- C++:在多个线程中访问同一数组/向量的不同单元格是否会产生数据竞赛?
- 如何以"union-like"方式更改C++向量的数据类型
- 在线程函数中处理数据向量时进行线程竞速
- 大家好,当一个类有一个向量作为它的数据成员时,为什么它的大小总是24?
- 初始化可变数据结构中的共享指针向量
- 如何使用模板获取向量中的数据类型?
- 从自定义数据类型向量中删除重复元素
- C++:自定义数据类型向量错误的队列
- 如何将csv中的数据放入c++中的字符串向量中,而绝对没有任何作用
- 如何有效地实现将向量的数据分配给多个变量?
- 如何从多维向量中提取数据
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- C++将 X 向量数据插入到另一个向量
- 返回字符串和不同向量数据类型的映射C++
- constexpr 成员函数,C++中的 std::向量数据成员
- 如何在 C++ 中将结构类型向量数据输入到结构向量成员(嵌套结构向量)中
- 基于向量数据生成字符串
- 与我定义的类的成员有关的c++向量数据类型编译器错误问题