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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> явная специализация шаблона, не пойму как сделать 
V
    Опции темы
TaNK
Дата 18.11.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть задача первую часть я сделал вот про специализацию шаблона ну ни как не получается, или Code::Blocks с MinGW не поддреживают эту специализацию
вот задание
http://ifolder.ru/15043545
а вот код что я написал, может мне кто подскажет как сделать вторую часть задания
Код

#include <iostream>

using namespace std;

template <typename T> // 1 шаблон
void maxn (T [], int);

//явная специализация
template <> void maxn (const char* [], int); // явная специализация

int main(void)
{
    int i_mas[6] = {110,-8,-9,6,77,250};
    double d_mas[4] = {10.6,18.74,998.41,651.66};
    char* c_mas[3] = {"Ivan", "Oleg","C++"};

    maxn(i_mas,6);
    maxn(d_mas,4);

    maxn(c_mas,3); // вызывается 1 шаблон почему то
    return 0;
}


template <typename T>
void maxn (T mas[], int n)
{
    int i = 1;
    T temp = mas[0];
    while (i < n)
    {
      temp = temp < mas[i]? mas[i] : temp;
      i++;
    }

    cout << temp << endl;
}

template <> void maxn (const char* mas[], int n)
{
    for(int i = 0; i < n; i++)
    cout << mas[i] << endl;

}



вторую часть я не доделал...чтобы адреса возращались...хочу понять почему не вызавается явная специализация.
Всем спасибо.

Это сообщение отредактировал(а) TaNK - 18.11.2009, 12:57


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
zim22
Дата 18.11.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



замени на
Код

const char* c_mas[3] = {"Ivan", "Oleg","C++"};



--------------------
PM MAIL   Вверх
TaNK
Дата 18.11.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(zim22 @ 18.11.2009,  12:46)
замени на
Код

const char* c_mas[3] = {"Ivan", "Oleg","C++"};

Спасибо, помогло.


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Andrey44
Дата 18.11.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Можно еще
Код

maxn((const char**)c_mas,3);



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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