Форум программистов, компьютерный форум CyberForum.ru

Инстанцирование шаблона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очередь, состоящая из точек координатной плоскости http://www.cyberforum.ru/cpp-beginners/thread681126.html
Доброго времени суток. Мне необходимо создать очередь, состоящую из пар чисел (х и у) и создать функции удаления, добавления элементов в эту очередь. Проблем с добавлением не возникло, а вот с удалением...привожу часть кода, кто может - помогите разобраться. #define QUEUE struct queue #include <alloc.h> int e_x, e_y, n; String queue = ""; QUEUE { int x;
C++ С++ рекурсия классов Внимание Вопрос! :) у меня есть классы вот такие (в *.h файле): class MyFirstClass{ MyFirstClass(); MySecondClass GetProperty() const; Protected: MySecondClass Property; http://www.cyberforum.ru/cpp-beginners/thread681106.html
C++ нужна функция
В бассейне стандаратный вход (цена) за 8 евро, но если человек плавает дольше 3ч, то надо дополнительно заплатить 2 евро за час. При этом максимально могут так взять 16 евро, а дальше плавай сколько хочешь. Нужна функция, которая в качестве параметра принимает количество часов, и возвращает стоймость за посещение бассейна. (примем что больше суток купаться нельзя) Пример: -1,5 -> 2,00...
C++ Работа с файлами
Помогите,пожалуйста,написать программу изменения первых четырёх байтов wav файла
C++ перезаписать структуру в файл http://www.cyberforum.ru/cpp-beginners/thread681077.html
Помогите пожалуйста. Как перезаписать результат поиска в структуре в тот же файл? struct dvd //структура dvd диска { char namefilm;//название фильма char namereg;// имя режисера int prodol; // продолжительность в минутах int cena; // цена };
C++ Вычисление выражения Добрый день, нужно вычислить значения переменных a и alpha, по формулам, ктр написаны в проге при заданном n. #include <stdio.h> #include <conio.h> #include <math.h> void main(void) { double k, z, n, alpha; подробнее

Показать сообщение отдельно
D.E.S.P.E.R.O.
9 / 9 / 0
Регистрация: 12.03.2009
Сообщений: 110
Завершенные тесты: 1

Инстанцирование шаблона - C++

26.10.2012, 16:38. Просмотров 872. Ответов 8
Метки (Все метки)

Существует шаблон следующего вида:
C++
1
2
3
4
5
template<class T, int size>
void foo(T (&array)[size])
{
    cout << size << endl;
}
И следующий пример его использования:
C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char *argv[])
{
    int a[] = {0, 1, 2};
    int *b  = new int[3];
    
    foo(a);
    foo(b);
 
    system("PAUSE");
    return 0;
}
Почему для массива а все происходит гладко, а для массива b компилятор выдает вот такую ошибку:
error C2784: 'void foo(T (&)[size])' : could not deduce template argument for 'T (&)[size]' from 'int *'
Я подозреваю, что динамическая память под массив будет выделена на этапе выполнения, а инстанцирование шаблона происходит на этапе компиляции. Но хотелось бы услышать более авторитетное мнение... Заранее спасибо!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru