27 / 27 / 18
Регистрация: 13.09.2014
Сообщений: 137
|
||||||||||||||||
1 | ||||||||||||||||
Преобразование пользовательского типа, friend07.12.2014, 03:47. Показов 551. Ответов 2
Метки нет (Все метки)
Этот код не работает, потому что класс X ничего не знает о классе Y?
Ошибки:Error 5 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion) Error 3 error C2440: 'initializing' : cannot convert from 'x' to 'int' Error 4 error C2440: '=' : cannot convert from 'x' to 'int' Error 2 error C2079: 'y1' uses undefined class 'y' Error 1 error C2027: use of undefined type 'y'
0
|
07.12.2014, 03:47 | |
Ответы с готовыми решениями:
2
Преобразование типа из пользовательского в стандартный и из стандартного в пользовательский Преобразование пользовательского типа в стандартный и обратно, перегрузка операторов Можно ли присвоить объекту основного типа значение объекта пользовательского типа? Преобразование типа или преобразование типа указателя ? |
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.12.2014, 04:17 | 2 |
В первом случае аргумент передается по значению.
А это значит, что будет выполняться копия аргумента. А это значит, что компилятору нужно знать декларацию класса, что бы знать как устроен конструктор копии. Во втором случае используется передача по ссылке. Передачу по ссылке компилятор может реализовать по точно такому же принципу, как и передачу по указателю. А это означит - передать можно только адрес. А это значит, что знать строение класса в этой точке не обязательно.
1
|
27 / 27 / 18
Регистрация: 13.09.2014
Сообщений: 137
|
|
07.12.2014, 23:39 [ТС] | 3 |
hoggy, спасибо!!!
0
|
07.12.2014, 23:39 | |
07.12.2014, 23:39 | |
Помогаю со студенческими работами здесь
3
Перегрузка операторов, friend или нет friend? Создание пользовательского типа данных Вектор пользовательского типа данных Перегрузка operator<< для пользовательского типа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |