Сообщение от dsd
Таки да глупость смозорозил под 3.
Но разыменовывание уж очень какое-то ректальное тайнство из серии: "а я всеравно прав, #$%^@ #$%@^ компилятор!!!"  чет я не могу вообразить себе ситуацию, когда это потребутся, у меня все-таки в конце цепочки указателей последний указывает на обычную переменную.
gnu gcc вроде не пытается такого сделать я бы заметил  У него с автоматическим переводом все хорошо, только обрато из int в float надо кой-чо приписывать в формулу для правильного взаимопонимания 
|
Указатели не используются в таких случаях как в 3 примере, это плохой и сложный стиль =) их нужно использовать для создания экземпляров класса
class mycl
{
public:
void foo();
};
void mycl::foo()
{
printf("foo");
}
........
mycl* m = new mycl();//определение класса в указатель (создание не в стеке а в куче)
//теперь можно юзать объект
cl->foo();
//или
(*cl).foo();//тут уж как тебе проще
/*
при передаче не указателя в функцию, объект копируется, это не есть
хорошо, объекты нужно передавать указателями, следовательно и
создавать их как указатели оператором new
это я так.. своими словами.. в умных книжках конечно по другому написано
так что для того чтобы лучше понять прочитай книгу, читается за 2 дня
300 страниц сам читал!*/