У меня есть структуры данных и процессор класса для данных, данные укладываются без указателей для быстрее SIMD обработки:C++ не может помещать данные в вектор
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 reference и C++ vector push_back я предположил, что это должно быть легко, но даже после нескольких поисков Google я просто не могу найти ответ.
Этот проект включает кросс-кодирование в html/javascript, и я, кажется, ударяю о стену, как этот, каждый раз, когда я переключаюсь обратно на C++, он начинает на мне на нервы.
Я могу ошибаться, но я думаю, что это тонкий C++ ошибка анализа с линии trajectory_data d0() ;. Это интерпретируется как объявление функции с функцией, называемой d0 и возвращающей trajectory_data. Попробуйте удалить(). –