エラー

http://ylb.jp/2006b/proc/prototype/さまに救っていただきました。

#include <stdio.h>

int main()
{
  printf("answer=%f\n", add(3.0, 4.0) );
  return 0;
}

double add(double a, double b)
{
  return a+b;
}
このプログラム(test2.c)をコンパイルすると以下のようなエラーがでます。

test2.c:10: error: conflicting types for 'add'
test2.c:6: error: previous implicit declaration of 'add' was here

このようにコンパイルが失敗するのは関数addの定義より前にaddが使われているために、 
addの型のチェックがうまくできないためです。 

ありがたや。