
Сообщение от
moskitos80
Получается, что не "можно", а нужно! - Компилятор требует этого!
Стандартом не запрещено объявление копирующего конструктора, принимающего неконстантную ссылку. Если только инициализирующий объект не объявлен как const / volatile.
(12.8)Note: If a class X only has a copy constructor with a parameter of type X&, an initializer of type const X
or volatile X cannot initialize an object of type (possibly cv-qualified) X.
Т.е.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
| class X {
X();
X(X&);
};
X cx;
X x = cx; // OK
const X cx;
X x = cx; // Error |
|

Сообщение от
moskitos80
Блин, где бы почитать про подобные фичи языка...
http://open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3376.pdf
Добавлено через 55 минут

Сообщение от
moskitos80
стоит ли изучать язык С++ не имея высшего образования
Стоит. В российских вузах программирование дают посредственно. Тут самообучение выходит на первый план.