从命名空间中提取单个名称
Pulling in a single name from a namespace
对于以下代码,我只想从命名空间boo
拉入main
Point
operator==
的范围:
#include <iostream>
namespace boo
{
struct Point {
int x;
int y;
};
bool operator==(Point const& first, Point const& second) {
return true;
}
}
int main()
{
using boo::operator==(Point const& first, Point const& second);
}
如果我只是做using boo::operator==
,这将起作用,但它也会拉入boo
中的所有其他operator==
。
我怎么能只拉进这个?
我问,因为对于上面的代码,我收到以下错误
source_file.cpp:18:26:错误:使用声明后预期为";" using boo::operator==(Point const& first, Point const& second);
你不能。using声明拉入名称,而不是单个实体。您也不需要拉入该特定operator==
。在像p1 == p2
这样的表达式中,p1
和p2
的类型为Point
,编译器将始终在声明Point
的命名空间中搜索operator==
。这称为依赖于参数的查找。
相关文章:
- 你能重载对象变量名本身返回的内容吗
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 如何从 std::atomic 中提取指针 T<T>?
- 为什么istream不支持右值提取
- 有没有一种方法可以在编译时获得作用域类名
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 从 Any 包中提取和匹配 protobuf 消息类型名的首选方法
- 从命名空间中提取单个名称
- 从字符串中提取单个字符并将其转换为 int
- 模板参数在具有相同数据类型的单个类型名的构造函数中不起作用
- 如何从空格分隔的单个字符串中提取多个子字符串
- 提取操作员在使用来自其他类名的指针时超载
- 从文本文件中提取单个句子...我还没有做对
- 如何在C++中从字节数组(在 BIG-ENDIAN 中)中提取单个字段
- 从未知长度的手动输入中提取单个单词
- c++ 11中单个限定名和两个连续限定名之间的歧义
- 如何从保存在.c,.cpp文件中的c,c++代码中提取变量名
- 提取单个像素数据的最快方法
- 同一个模板的多个专门化在单个类中具有不同的类型名
- 如何从文本文件中提取扩展名为.txt的文件名