首页 > 解决方案 > 是否应该使用别名或来源名称作为前向声明?

问题描述

如果一个名字是using关键字的别名,并且这个名字需要用作前向声明,应该使用哪个名字?原名还是新名?该名称可以引用普通数据类型、类或命名空间。

例如:

啊:

using ID = int;
namespace AA {class C;}
using namespace BB = AA;

B.cpp

//here function f is implemented
#include "A.h"

Bh:这里的 ID 需要前向声明

class ID;
namespace BB {class C;}
void f(ID i, BB::C c);

或者我们只能选择以下一个

//class int;
namespace AA {int C;}
void f(int i, AA::C c);

标签: c++aliasforward-declaration

解决方案


推荐阅读