fprintf
というプログラムがあります。 Visual Studio 2013では、すべてがエラーと警告なしでコンパイルされ実行されました。今プロジェクトは(変更なし)のVisual Studio 2015に移行されていると私は私のfprintf
通話のほとんどに、以下の警告を取得しています:Visual Studio 2013からVisual Studio 2015への移行後にprintf形式の関数を呼び出すと警告が発生する
C4474: too many arguments passed for format string
:
fprintf (stderr,"Missing header file name. Formant is :\n", pArg);
どうすればこの問題を解決できますか?コードを書き直す必要があるのですか、これらの警告の原因となっているプロジェクト設定に何か問題がありますか?
のprintfおよびscanf関数のすべての定義はstdio.hの、conioにインラインで移動されました:私はthis MSDNの記事では、これらの機能に加えられた変更があった、ことがわかり
。 h、およびその他のCRTヘッダーを表示します。
これは私の問題に関連していますか?これはVS 2015の無害な変化ですか、またはここでも潜在的なクラッシュを誘発する落とし穴がありますか?
[Visual C++ 2015での変更点](https://msdn.microsoft.com/en-us/library/bb531344.aspx)の「と」の –
を参照してください。あなたを正しい方向に導くことができます。 – Ajay
あなたはこれをトリガし 'のprintf()' -callの例を持っていますか?あなたは未定義の動作を引き起こしているようです。 – EOF