gpt4 book ai didi

c++ - 无法将结构类型的标识符设置为 nullptr;

转载 作者:行者123 更新时间:2023-11-28 01:34:11 25 4
gpt4 key购买 nike

我有一个看起来像这样的结构:

struct Wolf {
Wolf *dog;
Wolf *puppy;
};

我写过:

Wolf *alphawolf = new Wolf;

当我尝试将成员 dog 和 puppy 设置为 nullptr 时,它无法在 C++ 中编译

更新:

我试过:

alphawolf.dog = nullptr;
alphawolf.puppy = nullptr;

阿尔法狼和 .有红色下划线:错误是:

此声明没有存储类或类型说明符

现在我用了:

alphawolf->dog = nullptr;
alphawolf->puppy = nullptr;

但我试图在 main 方法“outside main()”之前执行此操作我仍然得到:此声明没有存储类或类型说明符

最佳答案

不可能将可执行语句放在 main()(或任何其他函数)之外。

如果你想声明一个全局变量alphawolf,初始值为nullptr,语法是(在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;
}

关于c++ - 无法将结构类型的标识符设置为 nullptr;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50082469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com