«Явная» ошибка ключевого слова в Visual Studio 2013?
Рассмотрим следующую программу:
#include
class A
{
public:
A( ) { std::cout < "A()\n"; }
A( A& ) = delete;
A( int i ) { std::cout < "A( " < i < " )\n"; }
explicit operator int( ) { std::cout < "operator int()\n"; return 42; }
};
template< typename T = A > void f( T a = A() ) {}
int main( void )
{
f();
return 0;
}