Fortranを使用しているとき、よく出るエラーメッセージランキング1位であろう、Symbol 'a' at (1) has no IMPLICIT type
というエラーメッセージの意味と解決方法を紹介します。
原因
implicit typeとは、暗黙の型とよばれ、宣言をしていない変数を用いた場合、Fortran側が勝手に型を決めて宣言する機能があります。
この暗黙の型宣言は、思いもよらないミスを誘発するため、通常implicit noneとプログラムの先頭に記載することで、暗黙の型宣言を禁止しています。
今回のエラーメッセージは、aという暗黙の型はありませんと言っています。
つまり、aという変数は宣言されていませんよということです。
因みに、implicit noneがない(暗黙の型宣言を禁止していない)場合、aという変数は実数型として処理されます。
解決方法
明示的にエラーメッセージで表示された変数を宣言しましょう。
下記は、代表的な変数を宣言する例です。
文字列型の場合
character(len)::a
lenには、数字で文字列の長さを入れます。
実数型の場合
real::a
整数型の場合
integer::a
まとめ
Symbol 'a' at (1) has no IMPLICIT type
は、変数を宣言していませんよということです。
implicit none
としているため、発生したエラーメッセージでもあります。