c++ - 是否应该使用别名或来源名称作为前向声明?
问题描述
如果一个名字是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);
解决方案
推荐阅读
- windows - 如何将消息从电子发送到另一个进程(其他本机 Windows 应用程序)
- c# - 如果找到完全匹配,则 C# 字符串替换
- c++ - 使用按位赋值操作进行 C++ 类型转换
- vbscript - 在 VBScript 中通过 SendKeys 传递 (–)
- python - ImportError: No module named watson_developer_cloud
- hive - load only few files from a HDFS directory
- android - 允许为包裹禁用 Oreo 自动填充服务
- sql - VBA SQL Query only returns numeric values
- javascript - HTML 5 Video: Playing multiple "clips" with javascript
- python - 为什么我不能通过 python 打开/与文件交互