NULL
От: Павел Кузнецов  
Дата: 20.09.02 08:57
Оценка:
Вроде, исходник, компилируется и "работает" :-)

#include <iostream>

int* null =  !     !  !    !  !      !
            ! !   !   !    !  !      !
           !   ! !    !    !  !      !
          !     !     !!!!!!  !!!!!  !!!!1;

int main()
{
  std::cout << "null = " << null << std::endl;
  return 0;
}
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: NULL
От: Maxim K.  
Дата: 20.09.02 09:02
Оценка:
Здравствуйте Павел Кузнецов, Вы писали:

VC 7.0 говорит: "error C2440: 'initializing' cannot convert from 'bool' to 'int*'"

Regards

Maxim
Best regards
Maxim K.
Re[2]: NULL
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 20.09.02 09:04
Оценка:
Здравствуйте Maxim K., Вы писали:

MK>Здравствуйте Павел Кузнецов, Вы писали:


MK>VC 7.0 говорит: "error C2440: 'initializing' cannot convert from 'bool' to 'int*'"




BCB 1.0 тож самое выдает... Апшипка, однако
Re[3]: NULL
От: Павел Кузнецов  
Дата: 20.09.02 09:15
Оценка:
Здравствуйте Flamer, Вы писали:

F>Здравствуйте Maxim K., Вы писали:


MK>>VC 7.0 говорит: "error C2440: 'initializing' cannot convert from 'bool' to 'int*'"


F>BCB 1.0 тож самое выдает... Апшипка, однако :-))


Это ошибка в этих компиляторах. В качестве null pointer подходит любое интегральное константное выражение времени компиляции, каковым является выражение из примера. Comeau и Intel "глотают" приведенный код "на ура". Что характерно, VC++ вполне счастлив, получая такой код:
int* null = false;
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[4]: NULL
От: Павел Кузнецов  
Дата: 20.09.02 09:18
Оценка:
ПК>Это ошибка в этих компиляторах.

Для этих [недо]компиляторов пример можно модифицировать так:

#include <iostream>

int* null =  !     !  !    !  !      !
            ! !   !   !    !  !      !
           !   ! !    !    !  !      !
          !     !     !!!!!!  !!!!!  !!!!1 ? 0 : 0;

int main()
{
  std::cout << "null = " << null << std::endl;
  return 0;
}


Уже не так "красиво", но, все-таки...
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: NULL
От: Maxim K.  
Дата: 20.09.02 09:30
Оценка:
Здравствуйте Павел Кузнецов, Вы писали:

ПК>>Это ошибка в этих компиляторах.


ПК>Для этих [недо]компиляторов пример можно модифицировать так:


Можно и так

int* null =(int*) ! ! ! ! ! !
! ! ! ! ! ! !
! ! ! ! ! ! !
! ! !!!!!! !!!!! !!!!1;
Best regards
Maxim K.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.