2015-07-01 14 views
12
#include <iostream> 

struct A 
{ 
    void operator()(const char *) 
    { 
     std::cout << "void operator()(const char *)" << std::endl; 
    } 
}; 

int main(int argc, char* argv[]) 
{ 
    A a; 

    a{"hi"}; 

    return 0; 
} 

msvs12 è soddisfatto di questo codice e non riesco a capire perché. Bug o qualcos'altro?msvs12 tratta le parentesi come operatore()

Aggiornamento: Ho provato con MSVS 2013 (v12.0.31101.0 Update 4)

+4

Per "VS 12" si intende "Visual Studio 2012" o si intende "Dev12" che è "Visual Studio 2013"? –

+1

FWIW, g ++ segnala un errore di sintassi su '{'. –

+2

Repro con VS2015 * risatina * –

risposta

Problemi correlati