gpt4 book ai didi

C++实例化

转载 作者:太空狗 更新时间:2023-10-29 19:40:53 25 4
gpt4 key购买 nike

我有Vector类,代表一个3D点,写法如下Vector.h :

class Vector {
public:
float x,y,z;
Vector(float _x=0.0,float _y=0.0,float _z=0.0){x=_x;y=_y;z=_z;};
operator float *() { return &x;};
};

我还声明了一个 extern vector<Vector>model_vertices;model.h

model.cpp 上我执行的文件 Vector.h并声明 std::vector<Vector>model_vertices; globally (是的,我知道 vector/Vector 的东西很困惑,但我必须使用 Vector 命名以保持一致性)。

关于 model.cpp ,在初始化这个 vector 的内容时,我使用了一个包含以下内容的 for 循环:

float X,Y,Z;

offFileStream>>X;
offFileStream>>Y;
offFileStream>>Z;


Vector v=new Vector(X,Y,Z);


model_vertices[loadVertexIndex]=v;

我收到以下错误:

error C2440: 'initializing' : cannot convert from 'Vector *' to 'Vector'

为什么?

最佳答案

错误在这一行:

Vector v=new Vector(X,Y,Z);

vVector 类型,但是 new Vector(X,Y,Z) 返回一个 Vector*:

你可能想要的只是:

Vector v(X,Y,Z);

作为旁注,我没有看到您为 model_vertices 初始化大小。因此,您可能想改用 push_back()

关于C++实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8130842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com