别名或原产地名称是否应用作前瞻性声明?

时间:2018-05-28 10:03:13

标签: c++ alias forward-declaration

如果名称是using关键字的别名,并且此名称需要用作转发声明,应使用哪个名称?原产地名称或新名称?该名称可以引用纯数据类型,类或命名空间。

例如:

A.H:

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

B.cpp

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

B.h:这里的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);

0 个答案:

没有答案