我已经在头文件中创建了一个类,并在该类int rsvdtickets
的private
部分中列出了一个。当试图在同一头文件中的函数中使用此成员时(我试图添加机票价格,因此我想将总数保存在此下int rsvdtickets
),编译器将引发未声明的标识符错误。
我已经确保所有拼写都是正确的,但是我不确定如何解决此问题。
#include <iostream>
#include <math.h>
class tickets
{
public:
void getheldtickets();
void computeseats();
void availabetickets();
private:
int rsvdtickets;
int availtickets;
};
void getheldtickets()
{
int seasontkt;
int corptkt;
std::cout << "How many season ticket holders?";
std::cin >> seasontkt;
std::cout << "How many reserved corporate ticket holders?";
std::cin >> corptkt;
rsvdtickets = seasontkt + corptkt;
}
问题是当您拥有:
void getheldtickets()
{
// ..
rsvdtickets = seasontkt + corptkt;
}
您没有在定义tickets::getheldtickets
,实际上是在声明和定义一个称为的完全不相关的自由函数getheldtickets
。该函数与该类无关tickets
,因此无法访问tickets
成员-rsvdtickets
声明的标识符也是如此。
定义类外部的类方法的正确方法是:
void tickets::getheldtickets()
// ^^^^^^^^^
{
// everything as before
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句