0

エラーメッセージ「エラー:「@ enum $1main_c**」から「@enum$1main_c*」への不正な暗黙の変換」が表示されます

//example.h
typedef enum {eg_1, eg_2} valType;


//main.c
#include "example.h"
void main(void)
{
 valType *testVal;
while(1)
 {
 read(x,y,*testval);
 }
}

何が悪いのか教えていただけますか?前もって感謝します

4

3 に答える 3

0

これがreadfromのunistd.h場合、最後のパラメーターはsize_tではなく でなければなりませんvalType

于 2013-01-07T11:57:53.777 に答える
0

関数のソースコードを投稿していただけますかread()。おそらくtestValポインタとして受け取りますが、値として渡しています。

于 2013-01-07T12:01:31.320 に答える
0

これ以上の情報がなければ、testVal には未定義の値があり、初期化されていないポインターであると言えます。read はtestValに何かを入れようとするので、今のところ、コードを次のように変更します。

//example.h
typedef enum {eg_1, eg_2} valType;


//main.c
#include "example.h"
void main(void)
{
 valType testVal;
while(1)
 {
 read(x,y, &testval);
 }
}

そして、それがどうなったか教えてください。

于 2013-01-07T13:17:01.003 に答える