如果这看起来有点幼稚,请原谅我,但我对 C++ 相当陌生,并且在 C 和 Java 中使用了多年之后,我想我的头脑有点困惑。
我正在尝试制作一个包含我创建的节点的未知大小的数组。
node *aNode = new node(14,32);
std::list<node> dataSet;
std::list<node>::iterator it;
it = dataSet.begin();
dataSet.insert(it, aNode)
但是,当我编译这个(概念验证测试)时,它会拒绝,抛出各种错误。
我知道这很简单,我就是想不通。任何人都可以帮忙吗?提前致谢!
编辑:这是节点:
class node{
float startPoint;
float endPoint;
float value;
public:
node(float, float);
void setValues(float, float);
};
node::node(float start, float end){
startPoint = start;
endPoint = end;
}
和编译器错误:
错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
错误 C2371:“它”:重新定义;不同的基本类型
错误 C2440:“正在初始化”:无法从“std::list<_Ty>::_Iterator<_Secure_validation>”转换为“int”
错误 C2146:语法错误:缺少“;” 在标识符“dataSet”之前
错误 C2143:语法错误:缺少“;” 前 '。'
错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
错误 C2371:“数据集”:重新定义;不同的基本类型
更新:我将一小段代码更改为:
node aNode(14, 32);
std::list<node> dataSet;
dataSet.insert(dataSet.begin(), aNode);
但是这3个错误仍然存在:
error C2143: syntax error : missing ';' before '.'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2371: 'dataSet' : redefinition; different basic types