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’」というエラーが表示されなくなります。
 
  
  
  
  
コメント