Есть задача первую часть я сделал вот про специализацию шаблона ну ни как не получается, или 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;
}
|
вторую часть я не доделал...чтобы адреса возращались...хочу понять почему не вызавается явная специализация. Всем спасибо. |