编译简单的类程序时出错

时间:2012-04-12 15:13:35

标签: c++ class pointers

编译以下简单的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-&gt;代码正常工作,同时帮助我。 提前谢谢。

3 个答案:

答案 0 :(得分:3)

ptr_c->*ptr_code应为*ptr_c->ptr_code。如果ptr_c->*ptr_code是指向公司数据成员的类型指针的变量,则ptr_code将有效。

答案 1 :(得分:3)

ptr_c->*ptr_code更改为*ptr_c->ptr_code

并且

cout<<<<"\n";

cout<<"\n";

您在构造函数count中使用变量company,它不是类的一部分,也不是它的声明。所以它会给你一个错误。

答案 2 :(得分:1)

使用*ptr_c->ptr_code代替ptr_c->*ptr_code查看operator precedence