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