Cでコーディングしてから長い時間が経ちましたが、今ではリンクリストを作成することさえできません:(構造の何が問題なのですか?私はこのNodeType
例を試しても、まだこれに似たエラーが発生します.
Linux と Windows で動作するリンク リストを作成する必要があります (大幅な変更は必要ありません)。
次のコマンドを使用してコンパイルしますcl myFile.c
。
エラーメッセージ:
Microsoft (R) 32 ビット C/C++ 最適化コンパイラ バージョン 16.00.40219.01 for 80x86 Copyright (C) Microsoft Corporation. 全著作権所有。
unlock.c unlock.c(46) : エラー C2275: 'Node' : この型を式として不正に使用します unlock.c(17) : 'Node' の宣言を参照してください unlock.c(46) : エラー C2146: 構文エラー: ない ';' 識別子 'a' unlock.c(46) の前: エラー C2065: 'a': 宣言されていない識別子
ソースコード:
#include <stdio.h>
#include <windows.h>
#include<stdlib.h>
typedef enum {STABLE, RPUSH, LPUSH} STATUS_TYPE;
typedef struct NodeType
{
struct NodeType* _left;
struct NodeType* _right;
int _value;
}Node;
typedef struct AnchorType
{
struct Node* _mostLeft;
struct Node* _mostRight;
STATUS_TYPE _status;
} Anchor;
Node CreateNode(int data)
{
Node newNode;
newNode._value = data;
newNode._left = NULL;
newNode._right = NULL;
return newNode;
}
int main()
{
Anchor anchor;
anchor._mostLeft = NULL;
anchor._mostRight = NULL;
anchor._status = STABLE;
Node a; //<-- What might be wrong ?
return 0;
}
手伝ってくれてありがとう。