gpt4 book ai didi

c++ - 包含文件会导致全局变量的多个定义错误

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:21 24 4
gpt4 key购买 nike

我遇到了一个奇怪的多重定义错误。包含结构如下:

MAIN -> VM -> BACKEND

主要包括 vm,其中包括后端。

我在后端有三个全局char * 指针,这是我得到多个定义错误的成员。

我在 vm.cppmain.cppmoc_vm.cpp 中得到多个定义(我使用 Qt)。

我尝试在其余来源中将指针声明为外部指针,但没有帮助。所有预处理器防护都已到位,我不知道为什么会出现错误,因为它们显然只在一个地方定义...

有什么想法吗?

编辑:这很奇怪,我可以将 BACKEND 包含到 MAIN 中并且没有问题,只有当链是 MAIN>VM>BACKEND 时我才会收到错误。

最佳答案

在头文件中将它们定义为外部的。在单个 cpp 文件中一次定义它们(不是外部的)。

你应该是安全的。

关于c++ - 包含文件会导致全局变量的多个定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18176540/

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