Функция GetModel () должна возвращать модель с 36 индексами, но возвращает модель с 0 индексами.
После компиляции: 0 ошибок, 0 предупреждений.
Я знаю, что этот форум ненавидит новичков, но, пожалуйста, будьте вежливы.
int main(int argc, char** argv) {
Model model;
for (int i = 0; i < 36; i++) {
model.indices.push_back(i);
}
Class cl(model);
std::cout << cl.GetModel().indices.size() << std::endl; // should output 36 but outputs 0
}
Класс: [Я думаю, что в конструкторе этого класса есть ошибка]
class Class
{
public:
Class(Model model){
m_model = model;
std::cout << model.indices.size() << std::endl; //output: 36
std::cout << m_mesh.GetModel().indices.size() << std::endl; //output: 36
}
inline Model GetModel() { return m_model; } //m_model.indices.size() should be 36, but is 0
protected:
private:
Model m_model;
};
Класс модели:
class Model
{
public:
Model(const std::vector<unsigned int>& indices) {
this->indices = indices;
}
Model(){}
std::vector<unsigned int> indices;
Model(const Model& other) {}
void operator = (const Model& other) {}