我有这个程序我正在研究,其中一部分是我正在制作的链接列表。我到目前为止,但在代码的这一点,它告诉我(在第3行到最后一行),inst必须是一个可修改的左值。我不确定我在这里做错了什么。
#include <iostream>
using namespace std;
struct node{
float color[3];
float v[2*3];
node *next;
};
class TriangleList {
private: node *head;
private: node * tail;
public:
TriangleList() {
head = NULL;
tail = NULL;
}
void add(float vertices[], float colors[]) {
node *inst = new node;
inst->v = vertices;
}
};
答案 0 :(得分:0)
以下声明不正确,因为您无法执行inst->v = vertices
,因为这样做是为了尝试更改v
的基地址,请正确读取错误。
错误:将'float '赋值给'float [6]'* *
的类型不兼容inst->v = vertices;
您可能想要执行以下操作
for(int i=0;i<len;i++) { /* len is the length of vertices */
inst->v[i] = vertices[i];
}