gpt4 book ai didi

c++ - 解析 "cannot define member function ... within .."

转载 作者:行者123 更新时间:2023-11-28 06:17:33 28 4
gpt4 key购买 nike

我已经为这个问题苦苦挣扎了一段时间,我想知道一种系统的方法来找出我可能会收到此错误的原因。显然我的解决方案中有多个组件。当我尝试构建我的组件之一时出现此错误。

error: cannot define member function 'ImageFramework::ACE_Main::run_i' within 'ImageFramework'


In file included from C:\mingw64\required\ACE\ACE_wrappers/ace/config-all.h:89:0,
from C:\windows-libs\corba\ACE_wrappers\TAO\orbsvcs/orbsvcs/CosNamingC.h:37,
from C:\Users\UserAdmin\TreeShell\MainProcess\SourceCode\ExternalCommunication\CORBA/TCorbaClient.h:12,
from C:\Users\UserAdmin\TreeShell\MainProcess\SourceCode\ExternalCommunication/SystemCommunicator.h:23,
from C:\Users\UserAdmin\TreeShell\MainProcess\SourceCode\ApplicationManager\ApplMngExternalComm.h:18,
from C:\Users\UserAdmin\TreeShell\MainProcess\SourceCode\ApplicationManager\ApplMngMessageHandler.h:15,
from C:\Users\UserAdmin\TreeShell\MainProcess\SourceCode\ApplicationManager\ApplMngMessageHandler.cpp:15:
C:\mingw64\required\ACE\ACE_wrappers/ace/OS_main.h:218:51: error: cannot define member function 'ImageFramework::ACE_Main::run_i' within 'ImageFramework'
inline int ACE_Main::run_i (int argc, char *argv[]) \

组件使用一个名为 ace 的外部库的一些背景知识,错误使我进入了一个 ace 源文件(我犹豫要不要触摸它,因为它不是我项目的一部分)。这是这样的

#       define main \
ace_main_i (int, char *[]); \
ACE_BEGIN_VERSIONED_NAMESPACE_DECL \
ACE_Export int ace_os_main_i (ACE_Main_Base&, int, char *[]); \
class ACE_Main : public ACE_Main_Base {int run_i (int, char *[]);}; \
inline int ACE_Main::run_i (int argc, char *argv[]) \
{ \
return ace_main_i (argc, argv); \
} \
ACE_END_VERSIONED_NAMESPACE_DECL \
int \
ACE_MAIN (int argc, char *argv[]) /* user's entry point, e.g., wmain */ \
{ \
ACE_Main m; \
return m.run (argc, argv); /*ace_os_main_i (m, argc, argv); what the user calls "main" */ \
} \

int \
ace_main_i

# endif /* ACE_WIN32 && ACE_USES_WCHAR */

# else /* ACE_HAS_WINCE */

无论如何,这是我针对上述错误消息错误所做的尝试

 error: cannot define member function 'ImageFramework::ACE_Main::run_i' within 'ImageFramework'

我查看了 ImagFramework 类源 .h.cpp,其中包含多个包含文件。 (此外,此类充当许多其他类的基类)以查看是否包含 ace 库 header ,但我找不到任何 header 。我将不胜感激关于找出可能导致此问题的原因的系统方法的建议。我什至可能错误地解释了这条消息。我对此消息的理解是,imageframework 类中的方法或其基类中的方法可能会触发上述代码部分。如果我错了请纠正我?对此问题的任何建议想法将不胜感激。我可能会得到这个还有其他原因吗?

最佳答案

看起来 ImageFramework 类有一个名为 main 的成员。所以宏 #define main ace_main_i ... 扩展并给出错误。

关于c++ - 解析 "cannot define member function ... within ..",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955920/

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