不出所料,我有一个string类,它使用不同的实现,具体取决于是否启用了UNICODE。
#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif这工作得很好,但是我目前遇到了一个问题,我需要转发声明StringT类型定义。我该怎么做呢?
我不能做typedef StringT;,所以它使得转发声明变得棘手。有没有可能在不经过上面的代码进入头文件的顶部的情况下,对这个类型进行前向声明?
发布于 2009-08-05 15:42:03
遵循由iosfwd标准标头设置的示例。编写一个包含以下内容的头文件,并将其命名为StringTFwd.h
class StringUTF16;
class StringUTF8;
#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif至少这是可重用的,并且不会弄脏引用它的头部。
https://stackoverflow.com/questions/1234031
复制相似问题