関数の使用方法と定義の不一致

サブルーチンが定義と一致しない方法で宣言されました。

このエラーは、呼び出し位置で宣言されている関数の戻り値の型が実際の関数定義と一致していないことを示します。この宣言は、関数を最初に使用したときに、暗黙的に作成された可能性があります。これは深刻なエラーです。コンパイラーが予測できない結果を引き起こす正しくないコードを生成することがあります。

サブルーチン型の FORTRAN 仮引数を呼び出したときにも、同じ種類のエラーが発生することがあります。つまり、仮引数を使用して呼び出されるサブルーチンで、直接呼び出した場合と同じ問題が発生することがあります。この問題が発生するかどうかは、サブルーチン型の仮引数に渡されるサブルーチンに依存します。この問題が発生した場合は、サブルーチン引数が渡された呼び出し位置を特定する問題箇所もレポートされます。

ID

問題箇所

説明

1

呼び出し位置

関数が呼び出された場所

2

定義

関数が定義された場所

file1.c:
          
#include <stdio.h>

extern float myFunc(float); // claims myFunc returns float

int main(int argc, char **argv)
{
    float a;

    a = 3.14;
    a = myFunc(a);
    printf("%f\n", a);
    return 0;
}
        
file2.c:
          
#include <stdio.h>

// myFunc actually returns int
int myFunc(float b)
{
    printf("%f\n",b);
    return 1;
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。