4

次の関数宣言と定義を検討してください。ヘッダー ファイル内:

void some_function(int param);

ソース ファイル内:

#include "test.h"

void some_function(const int param) {}

int main(void) {
    return 0;
}

Visual Studio 2010 で純粋な C プロジェクトとしてコンパイルすると、warning C4028: formal parameter 1 different from declaration. しかし、私の知る限り、これは完全に有効な C であり、かなり一般的な方法です。

私はこれについて間違っていますか?したがって、VS2010は私に警告するのが正しいですか? または、偽の警告である場合、この種のケースでは特に無効にできますが、実際のパラメーターの型が一致しない場合は警告を表示したままにできますか?

(VS2010 に付属している実際のコンパイラは、Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86です。私のコマンド ラインは単にcl test.c.)

4

1 に答える 1