首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我该如何向前声明一个已经被类型定义过的类呢?

我该如何向前声明一个已经被类型定义过的类呢?
EN

Stack Overflow用户
提问于 2009-08-05 15:35:33
回答 2查看 463关注 0票数 2

不出所料,我有一个string类,它使用不同的实现,具体取决于是否启用了UNICODE。

代码语言:javascript
运行
复制
#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif

这工作得很好,但是我目前遇到了一个问题,我需要转发声明StringT类型定义。我该怎么做呢?

我不能做typedef StringT;,所以它使得转发声明变得棘手。有没有可能在不经过上面的代码进入头文件的顶部的情况下,对这个类型进行前向声明?

EN

Stack Overflow用户

回答已采纳

发布于 2009-08-05 15:42:03

遵循由iosfwd标准标头设置的示例。编写一个包含以下内容的头文件,并将其命名为StringTFwd.h

代码语言:javascript
运行
复制
class StringUTF16;
class StringUTF8;

#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif

至少这是可重用的,并且不会弄脏引用它的头部。

票数 8
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1234031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档