3

次のC++コードがあり、コンパイルすると「Lvaluerequired」エラーが発生します。私がどこで間違っているのか指摘してください。ありがとう。

#include <iostream.h>
#include <conio.h>
void main()
{
  clrscr();
  char r[5];
  int mark;
  cout<<"Please enter your goddamn marks";
  cin>>mark;
  r=mark>=35?"pass":"fail";
  cout<<"\n"<<r;
}
4

1 に答える 1

10

問題はここにあります:

r=mark>=35?"pass":"fail";

char文字列リテラルを配列に割り当てることはできません。いくつかのオプションがあります。

  • strcpy()割り当ての代わりに使用します。
  • rタイプに変更しますconst char*;
  • rタイプに変更しますstd::string

最後のオプションが断然最高です。

于 2012-05-26T16:58:04.740 に答える