下面突出显示的句子是什么意思?它与功能模板有关系吗?
并非所有函数声明都可以重载。那些不能 重载在此处指定。如果程序包含以下内容,则格式错误 同一范围内的两个此类不可重载声明。 [注意:此 限制适用于范围内以及之间的显式声明 此类声明和通过使用声明进行的声明 ([namespace.udecl])。 不适用于虚构的功能集 由于名称查找(例如,由于使用了指令) 重载分辨率(例如,用于操作员功能)。 —尾注]
答案 0 :(得分:10)
您可以执行以下操作:
namespace N {
void f(int);
}
namespace M {
int f(int);
}
using namespace N; // ok
using namespace M; // ok
// even if both have conflicting f's
您不会在这里直接超载任何内容。 using指令允许名称查找可以找到两个函数,并且此时调用是不明确的。
这里的函数集包含两个不可重载的函数,但是由于按引号通过名称查找可以找到它们,所以可以。