gpt4 book ai didi

c++ - 在 Objective C 中前向声明命名空间 C++ 类

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:47 27 4
gpt4 key购买 nike

是否可以在 Objective C 头文件中对命名空间内的 C++ 类进行前向声明?

要在 Objective C 中转发声明的 C++ 类:

namespace name
{
class Clazz
{

};
}

我知道如果 C++ 类不在命名空间中我可以。取自http://www.zedkep.com/blog/index.php?/archives/247-Forward-declaring-C++-classes-in-Objective-C.html

有什么想法吗?
谢谢大家!

最佳答案

你只需像往常一样声明它,并将其包装在 C++ #ifdef 中,检查何时标题也包含在 C 和/或 ObjC 翻译中:

#ifdef __cplusplus
namespace name {
class Clazz;
} // << name
#endif

由于显而易见的原因,您不能在 C 或 ObjC 翻译中使用 name::Clazz,所以这很完美。您要么需要 C++ 翻译中的前向声明,要么它不需要对 C 或 ObjC 可见。

关于c++ - 在 Objective C 中前向声明命名空间 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098857/

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