Znalazłem coś dziwnego, czego nie rozumiem.std :: string s() dziwne zachowanie
std::string a();
Po wydrukowaniu zwraca 1
. Nie mam pojęcia, skąd się to wzięło. Myślałem, że a()
jest konstruktorem bez argumentów, ale wygląda na to, że tak nie jest.
Gdzie mogę znaleźć informacje na ten temat? i co to jest?
A kiedy próbuje zrobić std::string b(a);
kompilator krzyczy:
error: no matching function for call to ‘std::basic_string<char>::basic_string(std::string (&)())’
Objaśnienie byłoby mile widziane.
Google "C++ najbardziej dokuczliwy parse". – Jon
Zobacz: http://pl.wikipedia.org/wiki/Most_vexing_parse –
Ludzie, po co są wszystkie pochwały? Czy odpowiedź jest tak oczywista, że wszyscy od razu wiedzieli, o co chodzi, kiedy cię ugryzło? Głosowanie, by zamknąć pytanie jako dupek, jest wspaniałe, ale nie rzucajmy ludzi wokół siebie, bo nie wiemy. – Jon