switch (class_type)
Можно вообще сделать то, чего я хочу?судя по характеру вопросов, которые ты здесь задаешь, тебе скорее следовало бы почитать книжку по С++, чем сидеть в форуме.

> Можно ли сделать switch от составного типа? От класса, например?
нет, нельзя
нет, нельзя
Книжку читал.
Но меня смутила формулировка ошибки - там же не написали, что передается сложный тип вместо простого. Там написали, что нет определенного пользователем соответствующего оператора или его невозможно вызвать. Поэтому и спросил.
Но меня смутила формулировка ошибки - там же не написали, что передается сложный тип вместо простого. Там написали, что нет определенного пользователем соответствующего оператора или его невозможно вызвать. Поэтому и спросил.
Книжку читал.процитируй, что написано в книжке про switch?

нет определенного пользователем соответствующего оператора или его невозможно вызватьИмелось в виду, что нет оператора кастинга в скалярный тип.
Разработчики компилятора понадеялись, что программист знает язык на котором программирует
а не будет изучать его по текстам сообщений об ошибках 
Не вопрос:
Язык C имеет встроенный оператор множественного выбора, называемый switch. Основная форма оператора имеет такой вид:В общем, книга Б.И. Березин и С.Б. Березин, начальный курс С и С++, страница 76. Дальше писать ломает, но про простой тип там не написано ни слова.
switch (выражение) {
case constant1:
последовательность операторов
break;
case constant2:
последовательность операторов
break;
case constantN:
последовательность операторов
break;
default:
последовательность операторов
}
Да, это написано в MSDN.
Кстати, если уж на то пошло, то ты мог бы знать русский язык, коли на нем пишешь.
Кстати, если уж на то пошло, то ты мог бы знать русский язык, коли на нем пишешь.
программист знает язык на катором программирует
мда. говнокнижка, однако. Читай лучше http://www.libex.ru/detail/book32739.html или страуструпа, на худой конец...
Не, спасибо. Говнокнижка+MSDN вместе состовляют хороший справочник по языку.
А можно определить пользовательский оператор кастинга в скалярный тип?
а та книжка - великолепный учебник, тебе скорее он нужен
сам многие вещи в C++ в свое время окончательно осознал только после прочтения этой книги.
сам многие вещи в C++ в свое время окончательно осознал только после прочтения этой книги.бля, разрешаю.
ну что за вопросы?
ну что за вопросы?А как его определить?
operator int
Ух ты ебты... Вот теперь ты меня точно убедил, что мне надо книжку почитать... 

если все-таки действительно хочешь понять возможности C++, то читай Страуструпа, и выкини свою левую книжку.
ps
MSDN - именно про C++ пишет очень сжато и неполно.
ps
MSDN - именно про C++ пишет очень сжато и неполно.
Пасиб 

Не, спасибо. Говнокнижка+MSDN вместе состовляют хороший справочник по языку.только не по языку C++ (и не по C конечно)
MSDN - это хороший справочник по мелкомягким библиотекам и расширениям Visual C/C++
Говнокнижка она и в африке говнокнижка
Хороший справочник по языку C++ в природе один - стандарт C++ (хороший справочник обычно не является хорошим учебником впрочем) - он самый хороший по определению ибо он определяет язык.
В качестве учебника может сгодится Страуструп, поскольку он автор языка C++, он очень развернуто и последовательно излагает все возможности языка. Может излишне обширно правда.
Мне Эккель нравится. Правда, я имел глупость учиться по МСДН и сообщениям об ошибках, но другим следовать моему примеру не советую.
Оставить комментарий
erotic
Можно ли сделать switch от составного типа? От класса, например?Я пробовал сделать так:
Компилятор выдал ошибку:
error C2450: switch expression of type 'Point2D<T>' is illegal
with
[
T=unsigned char
]
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
после чего я дописал в класс Point2D такое:
Но ошибка прежняя...
Можно вообще сделать то, чего я хочу?