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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
#1

Глобальная перезагрузка операторов - C++

06.09.2013, 14:47. Просмотров 539. Ответов 12
Метки нет (Все метки)

Есть код:

C++
1
2
3
4
5
6
7
8
9
template< class Value >
class MyClass
{
    Value value_;
};
 
 
template< class V >
bool operator<( const MyClass< V > &, const V &other ) = delete;
в gcc и clang всё прекрасно собирается.
В VS ( v120_CTP_Nov2012 ) выдаёт ошибки:

1>error C2072: 'operator <' : initialization of a function
error C2988: unrecognizable template declaration/definition
error C2059: syntax error : '<end Parse>'
error C2143: syntax error : missing ';' before '{'
error C2447: '{' : missing function header (old-style formal list?)
Что не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 14:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глобальная перезагрузка операторов (C++):

перезагрузка операторов - C++
скажите разницу между base operator +(base &amp;o) base &amp;operator +(base &amp;o) и как перезагрузить префиксную форму ++р?

Перезагрузка операторов! - C++
Добрый вечер, умные люди, помогите пожалуйста сделать программу нужно реализовать класс абстрактного типа данных АДТ − стек....

Перезагрузка операторов. - C++
Люди, нид хелп! Пишу модуль для работы с матрицами, template &lt;class T&gt; class cmatrix { T *data; int n, m; ...

Квадрат - перезагрузка операторов - C++
Написал по заданию программу и выдает 1 ошибку, разъясните как ее исправить. Пишу в VS 2008 professional. Покажите пожалуйста как правильно...

Перезагрузка операторов Помогите - C++
Добрый день...у меня к вам просьба Помогите пожалуйста написать полностью программу с условием: 5. Объявите новый тип данных время....

C++. Перезагрузка операторов (Написать класс Дробь с полями числитель и знаменатель) - C++
2. Написать класс Дробь с полями числитель и знаменатель. Реализовать следующие методы: - Конструктор по умолчанию, конструктор с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
06.09.2013, 14:53 #2
Цитата Сообщение от kvadro Посмотреть сообщение
bool operator<( const MyClass< V > &, const V &other ) = delete;
а где тело функции
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
06.09.2013, 14:57  [ТС] #3
Зачем?
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
06.09.2013, 14:58 #4
перегрузка оператора должна что то делать, по крайней мере что то возвращать
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
06.09.2013, 15:01  [ТС] #5
перегрузка оператора должна что то делать, по крайней мере что то возвращать
Я указал спецификатор delete, она ничего не должна делать, прога неявно ссылается на её.
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
06.09.2013, 15:05 #6
Цитата Сообщение от kvadro Посмотреть сообщение
спецификатор delete
видимо студия еще не все фишки из C++11 поддерживает
0
Петррр
5958 / 3395 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
06.09.2013, 15:07 #7
http://msdn.microsoft.com/en-us/libr.../hh567368.aspx

Defaulted and deleted functions NO
Четко написано же.
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
06.09.2013, 15:13  [ТС] #8
видимо студия еще не все фишки из C++11 поддерживает
Вопрос - как с переходом на intel? Сложно? Просто устал с этим vs - C++11 почти не реализован, x64 инлайн asm не поддерживается.

Добавлено через 3 минуты
Четко написано же.
Не поддерживается только default, delete поддерживается.
0
Петррр
5958 / 3395 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
06.09.2013, 15:15 #9
Цитата Сообщение от kvadro Посмотреть сообщение
delete поддерживается.
Тогда почему не компилируется?
C++
1
2
3
4
5
6
7
class test
{
public:
    test(const test&) = delete;
};
 
int main() { return 0; }
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
06.09.2013, 15:17  [ТС] #10
Петррр
Наверное потому что у Вас тулсет версии v110?
0
Петррр
5958 / 3395 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
06.09.2013, 15:19 #11
Цитата Сообщение от kvadro Посмотреть сообщение
Наверное потому что у Вас тулсет версии v110?
По-русски можно? Visual Studio 2012
0
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
06.09.2013, 15:25  [ТС] #12
По-русски можно? Visual Studio 2012
Platform toolset - набор набор инструментов ( компилятор, линковщик и тд ). В 12 студии стоит версии v110, на сайте майкрософта можно скачать версии v120 ( он будет в 13 студии ), там расширенная поддержка C++11 ( delete, шаблоны с переменным количеством аргументов и тд ).
1
Петррр
5958 / 3395 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
06.09.2013, 15:26 #13
Спасибо, что просветил.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 15:26
Привет! Вот еще темы с ответами:

Перезагрузка операторов "неоднозначный operator" - C++
Не знаю в ту ли группу пишу, но все же.... Для моего класса есть несколько операторов присвоения const MyStr&amp; operator +=(const MyStr&amp;...

Задача с использованием логических операторов и операторов ветвления - C++
Вот вам задачка, чтоб голову поломать :D Вася работает программистом и получает 50$ за каждые 100 строк кода. За каждое третье...

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Глобальная переменная - C++
Никогда с таким не сталкивался... В общем: Надо обьявить глобальный масив в одной функции, но чтобы его видели все другие функции. Вне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.09.2013, 15:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru