Другие языки программирования и технологии
Про С++ .Не получается явное преобразование типов. Помогите разобраться. Код внутри.
void __fastcall TForm1::Button1Click(TObject *Sender) { short rr = 77; Edit1 -> Text= sizeof rr ; (long) rr; Edit2 -> Text= sizeof rr ; }
В принципе присваивание Edit2 -> Text= sizeof rr впоне корректно.
надо так
short rr = 77;
Edit1 -> Text= sizeof rr ;
Edit2 -> Text= sizeof ((long) rr);
надо так
short rr = 77;
Edit1 -> Text= sizeof rr ;
Edit2 -> Text= sizeof ((long) rr);
Здесь некто под именем Максим петренко написал глупость, что якобы переменная после оператора sizeof должна быть в скобках. Ничего подобного! В скобки нужно заключать только операнд, который является не именем объекта, а его типом. Например,
short rr;
sizeof( short );
но
sizeof rr;
Что касается исходного кода, то значением оператора sizeof является тип size_t, то есть беззнаковое целое. Вы его присваиваете объекту
Edit1 -> Text
А какой тип у этого объекта? ! Можно ли целое число присваивать этому объекту? Именно в этом у вас скорее всего заключается ошибка!
Кстати сказать, я сразу не обратил внимание, но этот код
(long) rr;
Edit2 -> Text= sizeof rr ;
вообще является глупостью. То, что вы написали выражение
(long) rr;
никак не влияет на результат выражения
Edit2 -> Text= sizeof rr
потому что как rr у вас ьыло объявлено как short так оно таким и осталось, а потому его размер остался равным 2 байтам для 32-битовых машин.
Вы проверьтте, какой у вас тип у Edit2 -> Text и можно ли ему присваивать целое число!
short rr;
sizeof( short );
но
sizeof rr;
Что касается исходного кода, то значением оператора sizeof является тип size_t, то есть беззнаковое целое. Вы его присваиваете объекту
Edit1 -> Text
А какой тип у этого объекта? ! Можно ли целое число присваивать этому объекту? Именно в этом у вас скорее всего заключается ошибка!
Кстати сказать, я сразу не обратил внимание, но этот код
(long) rr;
Edit2 -> Text= sizeof rr ;
вообще является глупостью. То, что вы написали выражение
(long) rr;
никак не влияет на результат выражения
Edit2 -> Text= sizeof rr
потому что как rr у вас ьыло объявлено как short так оно таким и осталось, а потому его размер остался равным 2 байтам для 32-битовых машин.
Вы проверьтте, какой у вас тип у Edit2 -> Text и можно ли ему присваивать целое число!
sizeof возвращает длину переменной в байтах (целочисленный тип) , а Text имеет целочисленный тип? И пока не видно и явного преобразования!
вот правильно слушайся Сыроежку! :)
вот правильно слушайся Сыроежку! :)
Ебаный стыд
Edit1 -> Text= AnsiString(rr);
Это же vcl, я прав?
Edit1 -> Text= AnsiString(rr);
Это же vcl, я прав?
Сыроежка Меню пользователя на ответах Оракул (76776)1 час назад (ссылка)
Нарушение! Нарушение! Подарить стикер! NEW
Здесь некто под именем Максим петренко написал глупость, что якобы переменная после оператора sizeof должна быть в скобках. Ничего подобного! В скобки нужно заключать только операнд, который является не именем объекта, а его типом.
в чем глупость?
вот у тебя явно глупость
"В скобки нужно заключать только операнд, который является не именем объекта, а его типом"
sizeof(int)
sizeof(x)
это однохуйственно
Нарушение! Нарушение! Подарить стикер! NEW
Здесь некто под именем Максим петренко написал глупость, что якобы переменная после оператора sizeof должна быть в скобках. Ничего подобного! В скобки нужно заключать только операнд, который является не именем объекта, а его типом.
в чем глупость?
вот у тебя явно глупость
"В скобки нужно заключать только операнд, который является не именем объекта, а его типом"
sizeof(int)
sizeof(x)
это однохуйственно
переменная после сайзоф по сути должна быть в скобках
Похожие вопросы
- Несколько вопросов про преобразование типов в С++ и возможно не только.
- Пожалуйста помогите разобраться с даним кодом C++. Тема : Односвязание списки
- Всем привет, помогите в коде разобраться С++, вылетает ошибка, вроде все правильно..
- Помогите разобраться в програмном коде на С++
- Помогите разобраться в старом коде Фортрана...
- Помогите разобраться с кодом. Ошибка в строчке for (int i = 0, i > 100, i++) {
- Прошу помочь разобраться, пояснить некоторые пункты требования ТИПОГРАФИИ.
- Помогите, открыл .vbs файл и у меня теперь не открываються программы, любые! код внутри.
- помогите с задачей С++..в общем не могу понять что не правильно сделал... условие и код внутри
- Можете помочь дополнить код в ассемблере. Что-то не получается до конца сделать.