【发布时间】:2015-09-04 18:35:36
【问题描述】:
我在这里遇到了一些麻烦,使用 C++ 通过指针访问成员变量。
假设我有以下课程,它有一些输出和一个独特的标签。
class CSource
{
public:
int tag;
double output;
}
我想在这样的结构中存储指向类和标签的指针
struct foo
{
CSource *source;
int sourceTag;
}
然后在第二个类中,有一个成员函数,它将指向 CSource 类的指针作为参数
class CDest
{
public:
void addSource(CSource *sourcePtr);
}
并且该成员函数将指针和标记存储到结构中
void CDest::addSource(CSource *sourcePtr)
{
foo temp;
foo.source = sourcePtr;
foo.tag-> sourcePtr.tag;
}
最后一行给了我错误“错误:表达式必须具有指针类型。”我只想要原始标记值而不是指针,因为下一步是搜索列表以查看是否已添加该源,添加它,然后有一个反向函数搜索列表并删除struct 如果它在那里使用标签。
【问题讨论】:
-
在 C++ 中不可能有一个指向类的指针,但是你可以有一个指向类实例的指针。
标签: c++ class pointers data-structures member-variables