Jump to content

User:Decltype/Litmus

From Wikipedia, the free encyclopedia
#include <iostream>
namespace nad 
{ 
  typedef int I; 
  typedef char c[__cplusplus];
  c& f(I) { std::cout << "a"; throw(0); }
}
using namespace nad;  
    
template<typename T>
struct C 
{ 
  C() { std::cout << "b"; }
  char buf[ sizeof( f( T() ) ) > 1 ]; 
};

char f(double) { std::cout << "c"; return 0; }

C<double> c; 
int main() {}