C++ 重载引用转换
以下类似乎是,但从未调用转换运算符:C++ 重载引用转换,c++,reference,type-conversion,implicit-conversion,C++,Reference,Type Conversion,Implicit Conversion,以下类似乎是,但从未调用转换运算符: class A { public: operator A() const { std::cout << "A() called" << std::endl; return *this; } operator A&() { std::cout << "A&() called" << std::endl; return *this; } operator const A&() c
class A
{
public:
operator A() const { std::cout << "A() called" << std::endl; return *this; }
operator A&() { std::cout << "A&() called" << std::endl; return *this; }
operator const A&() const { std::cout << "const A&() called" << std::endl; return *this; }
};
A类
{
公众:
操作符A()const{std::cout这里引用12.3.2
转换函数从不用于将(可能符合cv条件的)对象转换为(可能符合cv条件的)相同对象类型(或对其的引用)
另外,在gcc上使用-Wall-Wextra-pedantic-ansi
给了我:警告:此语句对静态强制转换没有影响。
(另外,尝试它会给你一些不错的编译器错误消息)。这里引用12.3.2
转换函数从不用于将(可能符合cv条件的)对象转换为(可能符合cv条件的)相同对象类型(或对其的引用)
另外,在gcc上使用-Wall-Wextra-pedantic-ansi
给了我:警告:此语句对静态强制转换没有影响。
(另外,尝试一下它会给你一些不错的编译器错误消息).我肯定有人会引用标准,但在此期间我会陈述显而易见的:这根本没有任何意义。我肯定有人会引用标准,但在此期间我会陈述显而易见的:这根本没有任何意义。