我有一个看起来像这样的结构:
struct Wolf {
Wolf *dog;
Wolf *puppy;
};
我已经写了:
Wolf *alphawolf = new Wolf;
当我尝试将成员狗和小狗设置为nullptr时,它不会在C
中编译更新:
我尝试了:
alphawolf.dog = nullptr;
alphawolf.puppy = nullptr;
alphawolf和。被带下划线的红色:错误是:
此声明没有存储类别或类型规范
现在我使用了:
alphawolf->dog = nullptr;
alphawolf->puppy = nullptr;
,但我试图在主要方法" offere offear offer(("之前做到这一点我仍然得到:此声明没有存储类别或类型规范
无法将可执行语句放在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;
}