The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Преобразования типов в C/C++"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Преобразования типов в C/C++"
Сообщение от Солнышко Искать по авторуВ закладки on 21-Фев-02, 11:54  (MSK)
Как в C/C++ отменить автоматическое преобразование типов?
Например:
void foo (int value);
....
foo ('a') - такая конструкция будет воспринята нормально. В результате value будет равно 97. А мне это очень не желательно.

Итак вопрос. Как от этого избавится?

С уважением, Солнышко

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Преобразования типов в C/C++"
Сообщение от romanSA Искать по авторуВ закладки on 21-Фев-02, 13:56  (MSK)
Самый простой способ - определить ещё функции:
void foo(char value)
и
void foo(unsigned char value)

Если не подразумевается обработка char-ов вообще, то можно указать только заголовки функций не определяя их тела.
Тогда, если в программе будет вызвана foo() с аргументом типа char, то при линковке будет выдана ошибка, т.к. тело ф-ции отсутствует.

Но можно будет использовать её так:
foo ((int) 'a');


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Преобразования типов в C/C++"
Сообщение от Арлекин Искать по авторуВ закладки on 21-Фев-02, 14:45  (MSK)
В ++ можно так
void foo( anyclass& value )
и тогда если в описании anyclass не перегрузить  тип char, а только int, то никак не произойдет вызов foo('a'), кроме как foo((int)'a')
Собственно теже я..а, что и предыдущий ответ....
Смотря что "дешевле"
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Преобразования типов в C/C++"
Сообщение от Солнышко Искать по авторуВ закладки on 21-Фев-02, 14:47  (MSK)
2Арлекин&romanSA.
Спасибо.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE:Криво как-то выразился"
Сообщение от Арлекин Искать по авторуВ закладки on 21-Фев-02, 14:48  (MSK)
>не перегрузить  тип char, а только int
не определить операции приведения типов для char, а только для int.
Так вернее.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру