Опечатка в книге Майерса. Правило 18

178
19 апреля 2018, 11:59

Наткнулся у Майерса на такой код из правила

Правило 18: Проектируйте интерфейсы так, что их легко было использовать правильно и трудно – неправильно

struct Day { struct Month { struct Year {
explicit Day(int d) explicit Month(int m) explicit Year(int y)
: val(d) {} : val(m) {} : val(y) {}
int val; int val; int val;
}; }; };

это опечатка? VS 2017 говорит так нельзя делать.

Answer 1

Судя по всему в оригинале структру записаны в колонки, а не сплошником.

(https://books.google.ru/books?id=Qx5oyB49poYC&pg=PA79&lpg=PA79&dq=Scott+Meyers+right+18+struct+day&source=bl&ots=KMoZALrYgU&sig=o6Vqh9XAeAJ2s8BzqsJ_jxqGv1g&hl=en&sa=X&ved=0ahUKEwio-LCCxcHaAhVH2SwKHWxcA_EQ6AEINTAC#v=onepage&q&f=false)

READ ALSO
Декларация и реализация шаблона

Декларация и реализация шаблона

Потребовалось создать шаблон, делал все как обычно принято в C/C++, сначала декларацию в header файле, а потом и реализацию в cpp файле, разумеется...

216
Как объявить static переменную в классе?

Как объявить static переменную в классе?

Переменную объявил так:

171
Иерархия объектов в C++ [требует правки]

Иерархия объектов в C++ [требует правки]

Помогите создать иерархию объектов, которые содержат информацию о комплектации ПК

169
Расширяющаяся форма в qt

Расширяющаяся форма в qt

Создаю обычный проект qt widgets с формойДобавляю на форму layout, на него кидаю банальный textedit и button через дизайнер, ставлю в sizepolicy везде expanding

163