0
アルファベット順にリンクリストに挿入するために、文字をデータ部分と比較しようとしていますが、どうしましたか?リンクされたリストと不完全なクラス型へのポインタ
私は次のことをやろうとしているtypedef struct{
char data;
struct list_node *next;
}list_node;
typedef struct{
list_node *head;
}list;
:
void input_char(list *my_list, char x)
{
list_node *node = (list_node*)calloc(1, sizeof(list_node));
list_node *tmp = my_list->head;
node->data = x;
if (tmp == NULL)
my_list->head = tmp;
else if (tmp->next == NULL)
{
if (x < tmp->data)
{
node->next = tmp;
my_list->head = node;
}
else
tmp->next = node;
tmp = tmp->next;
}
else
{
if (x < tmp->next->data)
// This following line says "Error, Pointer to incomplete type is not allowed.
{
node->next = tmp->next;
tmp->next = node;
}
tmp = tmp->next;
}
}
Cはクラスをサポートしていません。 C++としてコンパイルする場合は、タグを変更します。 See [ask]。どのようなエラーメッセージが表示されますか?どこ? – Olaf
@ S:C++では、 'struct'はクラス型です。あなたはタイトル( "リンクされたリストと不完全**クラス**タイプへのポインタ")を読んだことがありますか? – Olaf
タイプ。 alias( 'typedef'キーワードで導入されたもの)は、構造体タグ(構造体の名前)と同じではありません。したがって、構造体タグが型名と同じ名前を持たない限り、 'struct some_typedef_name * foobar'のようなことは今までにはうまくいきません。 –