1 | ||||||
Преобразование const char* в int14.03.2017, 00:05. Показов 8155. Ответов 21
Метки нет Все метки)
(
Всем привет. В исходниках одного проекта встретил вот такой участок.
0
|
|
14.03.2017, 00:05 | |
Ответы с готовыми решениями:
21
Реализация функции char *padl(const char *string, int len, int c=' ') int const * const foo(const int* param) const - разъясните значение квалификаторов
Invalid conversion from `int' to `const char*' |
7538 / 6399 / 2918
Регистрация: 14.04.2014
Сообщений: 27,865
|
|
14.03.2017, 00:09 | 2 |
Наверное.
Так это "проект" рабочий вообще?
0
|
nmcf
|
14.03.2017, 08:36
#4
|
Не по теме: defaultvalue - это что? Смотри для чего используется.
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
14.03.2017, 09:37 | 5 |
0
|
Диссидент
![]() 27684 / 17307 / 3806
Регистрация: 24.12.2010
Сообщений: 38,961
|
||||||
14.03.2017, 10:34 | 9 | |||||
Я правильно понимаю, что вам достался старый код, а вы пытаетесь понять, что он должен делать, и стараетесь довести его до ума?
Вообще-то написан бред. Если это ваш собственный бред, вам лучше всего знать, что вы хотели этим сказать. Если это бред чужого дяди, мой совет - выбросьте его на помойку и пишите все с начала. Но если вас интересует поведение этого кода с формальной точки зрения, просто из любопытства, то, имхо, ошибка в первом аргументе. Чтобы проверить это, напишите
![]()
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
||||||
14.03.2017, 11:23 | 10 | |||||
- ничего он не выводит: http://cpp.sh/4wkn2.
Добавлено через 3 минуты Еще, возможно, 3-им параметром он хотел чтобы тут была строка, тогда код, возможно будет такой:
0
|
Диссидент
![]() 27684 / 17307 / 3806
Регистрация: 24.12.2010
Сообщений: 38,961
|
|
14.03.2017, 11:47 | 12 |
Дык, у вас там код совсем другой. У вас string, а у Nishenи ТС, char-строка.
А я бы гадать не стал. Чего он тут хотел...Но чего бы не хотел - получилась бредятина. И ваша "корректировка" ее только гуще замешала.
Кстати, нули в конце строк совершенно ни к чему. Си++ сам их поставит. Не такой уж он и дурак. ![]() Добавлено через 3 минуты У меня один раз получилось, а второй - нет. "Кавалергарда век не долог..." Но там используется не char, а string. Так что к дискуссии этот код отношения не имеет.
0
|
1185 / 844 / 361
Регистрация: 26.02.2015
Сообщений: 3,769
|
||||||
14.03.2017, 11:50 | 13 | |||||
Так там из всего кода по существу только эта строка
0
|
Диссидент
![]() 27684 / 17307 / 3806
Регистрация: 24.12.2010
Сообщений: 38,961
|
|
14.03.2017, 11:57 | 14 |
В исконно-посконной версии Си K&R, имхо, тоже должен бы съесть. Но некоторые компиляторы (и стандарты) с течением времени стали построже. И в данном случае это можно только приветствовать. Чем больше явного бреда удастся отловить на стадии компиляции, тем легче нам будет жить, не правда ли?
0
|
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
|
|
14.03.2017, 12:41 | 16 |
- а, ну да, у меня тоже что-то не сразу открылся. Сегодня проблемы там. Что его писать
![]()
0
|
2765 / 1919 / 569
Регистрация: 05.06.2014
Сообщений: 5,576
|
|
14.03.2017, 13:07 | 17 |
Классический каламбур типизации. Сишный код, шаблонов нет, а сделать поле/аргумент произвольного типа очень хочется. Вот и присваивается этому полю тип int, а потом в этот int кастится даже указатель, даже небо и даже Аллах.
0
|
7538 / 6399 / 2918
Регистрация: 14.04.2014
Сообщений: 27,865
|
|
14.03.2017, 13:09 | 18 |
Renji, почему тогда не union?
0
|
2765 / 1919 / 569
Регистрация: 05.06.2014
Сообщений: 5,576
|
|
14.03.2017, 13:17 | 19 |
Может так универсальное поле удобнее копировать с места на место. Может оно выделено исключительно под нужды пользователя и автор библиотеки не знает какие ему типы положить в юнион. Может еще чего. Тут уже в остальной код вникать надо.
0
|
Любитель чаепитий
|
|
14.03.2017, 13:22 | 20 |
0
|
14.03.2017, 13:22 | |
Помогаю со студенческими работами здесь
20
Сделать преобразование unsigned char в char, а затем типу int Преобразование char* в const wchar_t * Невозможно преобразовать параметр из int в const char Char const* str to vector<unsigned int> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |