[英]can't set an identifier of type struct to nullptr;
我有一个看起来像这样的结构:
struct Wolf {
Wolf *dog;
Wolf *puppy;
};
我已经写了:
Wolf *alphawolf = new Wolf;
当我尝试将成员dog和puppy设置为nullptr时,它不会在C ++中编译
更新:
我试过了:
alphawolf.dog = nullptr;
alphawolf.puppy = nullptr;
alphawolf和。 带红色下划线的错误:
该声明没有存储类或类型说明符
现在我使用:
alphawolf->dog = nullptr;
alphawolf->puppy = nullptr;
但是我仍然尝试在main方法“ main()之外”之前执行此操作:此声明没有存储类或类型说明符
无法将可执行语句放在main()
(或任何其他函数)之外。
如果要声明一个初始值为nullptr
的全局变量alphawolf
,则语法为( main()
):
Wolf alphawolf {nullptr, nullptr};
也可以使用new
分配全局Wolf*
。 要初始化它,语法是:
Wolf *alphawolf = new Wolf {nullptr, nullptr};
要将nullptr
分配给alphawolf
的成员,这些语句需要在main()
或其他函数中。
Wolf *alphawolf = new Wolf;
int main() {
alphawolf->dog = nullptr;
alphawolf->puppy = nullptr;
/* Do other stuff with alphawolf */
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.