次の関数宣言と定義を検討してください。ヘッダー ファイル内:
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
.)