Запитання з тегом «most-vexing-parse»

2
Чому C ++ дозволяє нам оголошувати ім'я змінної в дужках при оголошенні змінної?
Наприклад декларація типу: int (x) = 0; Або навіть це: int (((x))) = 0; Я натрапив на це, тому що в моєму коді у мене трапився фрагмент, подібний до наступного: struct B { }; struct C { C (B *) {} void f () {}; }; int main() { B …


3
Чому це викликає конструктор за замовчуванням?
struct X { X() { std::cout << "X()\n"; } X(int) { std::cout << "X(int)\n"; } }; const int answer = 42; int main() { X(answer); } Я б також очікував, що це надрукується X(int), оскільки X(answer);може бути інтерпретована як кидок з intдо X, або нічого взагалі, тому що це X(answer);можна …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.