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_code被声明为具有公共范围说明符的整数指针,而 ptr_c->code工作正常。提前致谢。

4

3 回答 3

3

ptr_c->*ptr_code应该是*ptr_c->ptr_codeptr_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 回答