Форум программистов, компьютерный форум, киберфорум
Наши страницы

Баг компилятора? Или я чего то не догоняю? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ помогите с прогой http://www.cyberforum.ru/cpp-beginners/thread380043.html
Даны строки A и B. Если строки состоят из одних и тех же символов и в A нет повторяющихся символов, то упорядочить символы A в алфавитном порядке и удалить из B русские буквы; в остальных случаях...
C++ Последовательность символов Разбить пробелом последовательность символов на слова, оканчивающиеся заданной буквой А, если следующее слово не будет начинаться с А. Последовательность задается не массивом, оканчивается точкой,... http://www.cyberforum.ru/cpp-beginners/thread380040.html
C++ Снова списки.
Здравствуйте!!! Мне нужно сделать функцию, которая проверяет..если есть левая скобка и парная ей правая, то их обе нужно заменить на пробелы. Если нету парных, то список так и вывести. Из чаровского...
Найти количество столбцов, похожих на последний столбец данной матрицы. C++
Matrix37. Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные столбцы матрицы назовем по- хожими, если совпадают множества чисел,...
C++ Найти сумму элементов массива, расположенных до последнего положительного элемента http://www.cyberforum.ru/cpp-beginners/thread380027.html
В одномерной массиве из N вещественных элементов, вычислить: 1)максимальный элемент массива и его позицию(номер) (Это я сделал и все работает). 2)Сумму элементов массива, расположенный до...
C++ Matrix25. Дана матрица размера M × N. Matrix25. Дана матрица размера M × N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы. подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
09.11.2011, 20:27
Цитата Сообщение от Bers Посмотреть сообщение
Компилил в 2008 студии. Вопрос: ПОЧЕМУ ЭТОТ КОД КОМПИЛИРУЕТСЯ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <class Foo>
class Bee
{
private:
    template<class Foo2>
    Bee& operator =(const Bee<Foo2>&)
    {
        return *this;
    }
};
 
int main (void)
{
    Bee<int> bee1;  
    Bee<float> bee2;  
    bee1 = bee2;
 
    return 0;
}
/зы
Данный код не мой. Случайно нашёл в интернете. Заинтриговало. Решил поделится с народом.
Я подправил ваш исходный код, добавив шаблонный параметр, как уже здесь было предложено. Вообще-то, код не должен компилироваться, так как шаблонный оператор присваивания является закрытым. То есть два оператора присваивания должны участвовать в "конкурсе" на выбор наиболее подходящего - это копирующий оператор присваивания, который создан неявно компилятором, и данный шаблонный оператор присваивания. Так как лучше подходит шаблонный оператор присваивания, то он и должен быть выбран. Но так как он закрытый, то компилятор должен выдать сообщение об ошибке.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru