【发布时间】:2010-04-27 21:42:19
【问题描述】:
是否可以从类的构造函数中获取新实例化类的内存分配地址?
我正在开发一个链表,其中多个类有多个指向相似类的指针。每次实例化一个新类时,它都需要检查其父类的列表以确保它被包含在内。
如果我尝试做这样的事情:
MyClass() // constructor
{
extern MyClass * pParent;
for ( int i = 0; i < max; i++ )
{
pParent->rels[i] == &MyClass; // error
}
}
我收到此错误:
error C2275: 'namespace::MyClass' : 非法使用这种类型作为表达式
任何想法或建议将不胜感激。谢谢。
【问题讨论】:
-
我很困惑,听起来你想要
this指针。 . . -
梦想,只要回答。我的猜测是,这是一个正确的答案。
-
@dreamlax,谢谢!这正是我一直在寻找的。请添加它作为答案,我会接受它。通常,我为微控制器编写嵌入式 C,因此某些特定于 C++ 的特殊关键字对我来说是新的。
-
我仍然很困惑你为什么要这样做。为什么新分配的对象的地址在另一个对象(除了一些邪恶的错误)中已经知道?其他实例只能从
new等人获得它在构造函数完成之后。
标签: c++ class instantiation