これが少しナイーブに思えるかもしれませんが、私は 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++ は default-int をサポートしていません
エラー C2371: 'it': 再定義。さまざまな基本タイプ
エラー C2440: '初期化中': 'std::list<_Ty>::_Iterator<_Secure_validation>' から 'int' に変換できません
エラー C2146: 構文エラー: ';' がありません 識別子「dataSet」の前
エラー C2143: 構文エラー: ';' がありません 前 '。'
エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません
エラー C2371: 'dataSet': 再定義。さまざまな基本タイプ
更新:少しのコードを次のように変更しました:
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