1

次の単純な C++ クラス プログラムのコンパイル中にエラーが発生します。

エラー: 'ptr_code' が宣言されていません (最初にこの関数を使用してください)

#include<iostream>

using namespace std;

class company
{
  public:

  int code;
  int *ptr_code;

  company(int i)
  {
          ++count;
          code=i ;
          ptr_code = &code; 
  } 

};

int main()
{
company c(10);
company *ptr_c = &c;
cout<<<<"\n";
cout<<"\nCompany codes : \n"<<ptr_c->*ptr_code<<"\n"<<ptr_c->code<<"\n";
system("pause");
return 0;
}

ptr_c->codeが正常に動作している間、変数ptr_codeが public scope specifier を持つ整数ポインターとして宣言されている 間、同じように私を助けてください。前もって感謝します。

4

3 に答える 3

3

ptr_c->*ptr_codeする必要があります*ptr_c->ptr_code。会社のデータ メンバーへのポインター型の変数であるptr_c->*ptr_code場合に有効です。ptr_code

于 2012-04-12T15:16:55.467 に答える
3

ptr_c->*ptr_codeに変更*ptr_c->ptr_code

cout<<<<"\n";

cout<<"\n";

クラスの一部ではなく、宣言されていない変数countをコンストラクターで使用しています。companyそのため、エラーが発生します。

于 2012-04-12T15:18:11.550 に答える
1

演算子の優先順位を調べる*ptr_c->ptr_code代わりに使用するptr_c->*ptr_code

于 2012-04-12T15:16:19.107 に答える