構造体(構造体ポインタではない)を返す関数がありますが、同じ型の構造体変数に戻り値を設定しようとすると、「互換性のない型」が表示されます。
構造体の定義と関数の実装は次のようになります。
typedef struct{
int ssn;
char FirstName[12];
char LastName[12];
int income;
} MyRecord;
MyRecord parseNextRecord()
{
MyRecord record;
// parse and initialize
return record;
}
そして、これは私のメイン関数内からそれを呼び出すことです:
MyRecord nextRecord;
nextRecord = parseNextRecord(); // "error: incompatible types in assignment"
これについて本当に困惑しました。よろしくお願いします。