【问题标题】:Getting error while compiling a simple class program编译简单的类程序时出错
【发布时间】:2012-04-12 15:13:34
【问题描述】:

我在编译以下简单的 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 工作正常。 提前致谢。

【问题讨论】:

    标签: c++ class pointers


    【解决方案1】:

    ptr_c-&gt;*ptr_code 应该是*ptr_c-&gt;ptr_code。如果ptr_code 是指向公司数据成员的指针类型变量,ptr_c-&gt;*ptr_code 将是有效的。

    【讨论】:

      【解决方案2】:

      ptr_c-&gt;*ptr_code 更改为*ptr_c-&gt;ptr_code

      还有

      cout<<<<"\n";
      

      cout<<"\n";
      

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

      【讨论】:

        【解决方案3】:

        使用*ptr_c-&gt;ptr_code 而不是ptr_c-&gt;*ptr_code 查看operator precedence

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-24
          • 1970-01-01
          • 2022-07-13
          • 2019-04-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多