thisのような関数を作成しようとしていますが、そのエラー番号に関連するエラーの詳細が表示されますが、エラーはerror: expected initializer before 'strerror'
です。ここでは、この問題を解決する方法のコード'strerror'の前に期待されるイニシャライザ
#include <iostream>
#include <cstring>
static char* messages[] = {
"No error",
"EPERM (Operation not permitted)",
"ENOENT (No such file or directory)",
"ESRCH (No such process)",
};
static const int NUM_MESSAGES = sizeof(messages)/sizeof(messages[0]);
extern "C" char * __cdecl strerror(int errnum)
{
if (errnum < NUM_MESSAGES)
return messages[errnum];
return "Unknown error";
}
int main()
{
int a;
for(a=0;a<5;a++)
{
std::cout<<a<<" "<<strerror(a)<<"\n";
}
return 0;
}
はありますか?ありがとう
'std :: strerror'は問題を解決しません@Galik – udit043
Windows固有のコードをコピーしました。 '__cdecl'を削除してください。 – molbdnilo
ありがとう@molbdnilo、答えとして投稿する、私はそれを受け入れるよ – udit043