2016-05-21 4 views
0

ベクトル内のポインタが、私に警告メッセージを示しています。私は何を参照してくださいメッセージ
p.c: In function ‘main’:
p.c:22:6: warning: assignment from incompatible pointer type [enabled by default]
V[0] = number;ストア私はベクトルに格納するポインタにしようとしている

は意味が、私はできませんでしたエラーを修正してください。 ベクタ宣言や構造体が間違っているかどうか(あるいはその両方)はわかりません!

ありがとうございました!

単なる例:

#include <stdio.h> 
#include <stdlib.h> 

void show(int *V[]); 

struct age{ 
    int age; 
    struct age *next; 
};  
typedef struct age Age; 

int main(){  
    int *V[3]; // Vector with 3 positions to store pointers 

    Age* number = (Age *) malloc(sizeof(Age)); 
    number->age = 20; 
    number->next = NULL; 

    V[0] = number; 

    show(V); 

    return 0; 
} 

void show(int *V[]) 
{ 
    printf ("\n%p\n",V[0]); 
} 
+0

タイプAgeの変数を整数型の配列に格納することはできません。配列をAge * V [3]に設定するだけです。 – PeMaCN

答えて

0

私はこの問題は、それが年齢の配列でなければなりませんように、Vの配列はint型の配列であることだと思います。

あなたはそのようにそれをインスタンス化する必要があります

Age *V[3]; 

私はそれはあなただけの一般的なポインタの配列をしたい場合は、(:)

を助けるvoid*を使用しますが、私はのために適切ではないいただければ幸いですこの問題)

+1

はいアレックス、あなたは正しいです! ありがとう、私は配列のタイプを見ていない! – Pinheiro

+0

それでは、アレクシスの答えを受け入れるために公正であるようにしてください。 – user3078414

関連する問題