"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
warning C4776: '%n' は、関数 'printf_s' の書式文字列では許可されていません

ソース(バグ有り):

#include <stdio.h>
#include <typeinfo>

int main()
{
char string[]="abcdefg";
printf_s("%s%n", typeid( string ).name());
int i=1;
printf_s("%s\n", typeid( i ).name());
FILE *fp=NULL;
printf_s("%s\n", typeid( fp ).name()); }


原因:


対処:


ソース(修正済み):

#include <stdio.h>
#include <typeinfo>

int main()
{
char string[]="abcdefg";
printf_s("%s\n", typeid( string ).name());
int i=1;
printf_s("%s\n", typeid( i ).name());
FILE *fp=NULL;
printf_s("%s\n", typeid( fp ).name()); }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]