overcnv2.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 26 行

C
26
字号
// { dg-do assemble  }// { dg-options "-Wconversion" } // Test that we resolve this case as mandated by the standard, but also// warn about it.  We choose op char* not because it is a member of B --// the standard says that all conversion ops are treated as coming from// the type of the argument -- but because it is non-const.struct A  {  operator const char *() const { return ""; }};struct B : public A {  operator char *() { return 0; }};int main(){  B b;  if ((const char *)b != 0)  // { dg-warning "" } surprising overload resolution    return 1;  if ((const char *)(const B)b == 0)    return 2;  if ((const char *)(const B &)b == 0)    return 3;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?