编译一个简单的类程序时出现错误

问题描述:

编译以下简单的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->代码工作正常。 在此先感谢。

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

使用*ptr_c->ptr_code代替ptr_c->*ptr_code考虑operator precedence

变化ptr_c->*ptr_code*ptr_c->ptr_code

而且

cout<<<<"\n"; 

cout<<"\n"; 

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

+0

哦,sry ...我忘了删除错误的部分.. – cbinder 2012-04-12 15:25:45