Хотелось бы разобраться со следующим вопросом:
есть вот такой вот пример:
struct INT
{ };
struct LP
{
LP(const INT &p);
LP& operator=(const INT &p);
};
struct P
{
operator INT ();
};
int main()
{
P pi1;
LP lpi2(pi1); // OK
LP lpi2_ = pi1; // FAILS!
lpi2 = pi1; // OK
}
в строке // FAILS! компилятор выдает ошибку "error: conversion from 'P' to non-scalar type 'LP' requested". Т.е. такая конструкция для g++ похоже имеет другой от (LP lp2(pi1)) смысл. Подскажите плз, в чем здесь проблема? И как то можно ее решить, чтобы эта строка была съедобной для g++?


Ответ на:
комментарий
от hello_world

Ответ на:
комментарий
от const86

Ответ на:
комментарий
от one_more_hokum

Ответ на:
комментарий
от const86

Ответ на:
комментарий
от const86

Ответ на:
комментарий
от one_more_hokum

Ответ на:
комментарий
от dilmah

Ответ на:
комментарий
от ptomaine

Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от one_more_hokum


Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от www_linux_org_ru

Ответ на:
комментарий
от Reset

Ответ на:
комментарий
от sotlef

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум C++ и приведение типов (2012)
- Форум Lexmark z25 и Linux (2003)
- Форум Помогите скомпилировать (2013)
- Форум Валиден ли код? (2018)
- Форум gcc и копирующий конструктор. (2010)
- Форум Generic comparator with templated accessor to elements (2015)
- Форум Как сделать глубокую копию QDomNode в конструкторе копирования? (2016)
- Форум С++ gcc ссылка на массив (2006)
- Форум как заставить работать перегрузку функций? (2017)
- Форум С++ перегрузка (2011)