C言語で「function definition declared ‘typedef’」というエラーが表示される場合、その関数定義にtypedef
が使用されていることが原因です。
typedef
は、型名を定義するためのキーワードです。例えば、次のようなコードがある場合
typedef int myint;
このように、myint
という型名を定義することができます。この場合、myint
はint
の別名となります。
しかし、関数定義にtypedef
を使用することはできません。例えば、次のようなコードがある場合
typedef int add(int a, int b); int main() { ... }
このように、関数定義の前にtypedef
を使用しているため、「function definition declared ‘typedef’」というエラーが表示されます。
このような場合、typedef
を使用する場合は、関数定義の後に定義する必要があります。
例えば、次のように書き換えることができます。
int add(int a, int b); typedef int add(int a, int b); int main() { ... }
このように、関数定義の後にtypedef
を使用することで、「function definition declared ‘typedef’」というエラーが表示されなくなります。
コメント