Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегруженные функции и указатели 
:(
    Опции темы
tofreesky
Дата 31.12.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 9.6.2010

Репутация: нет
Всего: нет



Код

void func(SomeObj *in) {
 ...
}

void func(const char*) {
 ...
}


Компилятор не знает когда какую вызывать, как решить проблему и почему так? 
PM MAIL   Вверх
mes
Дата 31.12.2011, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(tofreesky @  31.12.2011,  16:15 Найти цитируемый пост)
Компилятор не знает когда какую вызывать, как решить проблему и почему так

покажите как вызываете



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 31.12.2011, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



это возможно только в том случае, если пытаться передать функции указатель на void.
PM WWW   Вверх
mes
Дата 31.12.2011, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250





Цитата(boostcoder @  31.12.2011,  16:44 Найти цитируемый пост)
это возможно только в том случае, если пытаться передать функции указатель на void. 

только ?
Код

void f(struct A *) {}
void f (const char*) {}

int main ()
{
  
   int i;
   
   f (i);
   f (&i);

   struct B {} * pb;
   
   f (pb);  
   
}



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 31.12.2011, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Ваш код не компилируется.
http://liveworkspace.org/code/546c99ea0a2e...a75745547aa8fbe
Цитата

Compilation finished with errors:
source.cpp: In function 'int main()':
source.cpp:8:8: error: call of overloaded 'f(int&)' is ambiguous
source.cpp:8:8: note: candidates are:
source.cpp:1:6: note: void f(A*) <near match>
source.cpp:1:6: note:   no known conversion for argument 1 from 'int' to 'A*'
source.cpp:2:6: note: void f(const char*) <near match>
source.cpp:2:6: note:   no known conversion for argument 1 from 'int' to 'const char*'
source.cpp:9:9: error: no matching function for call to 'f(int*)'
source.cpp:9:9: note: candidates are:
source.cpp:1:6: note: void f(A*)
source.cpp:1:6: note:   no known conversion for argument 1 from 'int*' to 'A*'
source.cpp:2:6: note: void f(const char*)
source.cpp:2:6: note:   no known conversion for argument 1 from 'int*' to 'const char*'
source.cpp:12:9: error: no matching function for call to 'f(main()::B*&)'
source.cpp:12:9: note: candidates are:
source.cpp:1:6: note: void f(A*)
source.cpp:1:6: note:   no known conversion for argument 1 from 'main()::B*' to 'A*'
source.cpp:2:6: note: void f(const char*)
source.cpp:2:6: note:   no known conversion for argument 1 from 'main()::B*' to 'const char*'


или что Вы хотели этим сказать?

Добавлено через 13 минут и 29 секунд
или я чего-то не понял..
PM WWW   Вверх
boostcoder
Дата 31.12.2011, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



похоже это я все не так понял smile 
PM WWW   Вверх
mes
Дата 31.12.2011, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(boostcoder @  31.12.2011,  19:32 Найти цитируемый пост)
я все не так понял 

не только воид* )



--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0846 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.