Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私は構造体を持っています:
struct person { char firstname[]; };
そして方法:
void abcde (person* a, char firstchar[]) { a->firstname = firstchar; }
gcc はこれをスローします。
char*' tochar[0u]' の割り当てに互換性のない型があります
char*' to
この問題を解決するには?手伝ってくれてありがとう!
配列に割り当てることはできません。ポインターが必要か、あるコンテンツを別のコンテンツにコピーします。
struct person { char* firstname; }; void abcde (person* a, char firstchar[]) { a->firstname = firstchar; }
firstchar関数のパラメーターは、配列ではなくポインターです。これ[]は単なる構文上の便宜です。これはchar firstname[];、配列である には当てはまりません。
firstchar
[]
char firstname[];