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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
#1

Шаблон в конструкторе - C++

04.10.2012, 22:54. Просмотров 401. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class A
{
    template <class Type> A(Type Object)
    {
        
    }
 
    friend class B;
};
 
class B
{
public:
    template <class Type> void func(Type Object)
    {
        A *ptr = new A<Type>(Object);
    }
};
 
int main()
{
    B b;
    b.func<int>(10); /* error C2275: Type: недопустимое использование этого типа в качестве выражения, см. объявление "Type" */
    return 0;
}

Как правильно будет?

Добавлено через 9 минут
вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 22:54     Шаблон в конструкторе
Посмотрите здесь:

Исключения в конструкторе - C++
Приведите пожалуйста пример, где было бы видно как писать конструктор в классе (инициализация полями класса) используя исключения и нужны...

Двоеточие в конструкторе - C++
class A { public: A(): }; Что означает двоеточие и что туда надо писать?

О конструкторе копирования - C++
Доброго времени суток всем присутствующим. Интересует маленький вопрос. В 15-й строке происходит прямое обращение к полю входного объекта...

Исключения в конструкторе - C++
Допустим, при конструировании объекта необходимо выделить память для двух указателей-членов и правильно обработать все ошибки исключений....

Ошибка в конструкторе - C++
Написал задачу, но она не работает. Условие: Разработать класс Элементарная частица с элементами Название, Группа, Заряд, Масса покоя....

Explicit в конструкторе - C++
Ключевое слово explicit перед конструктором служит лишь для того чтобы не запутаться и передавать аргумент в конструктор явно? Например: ...

Ошибка в конструкторе - C++
Почему пишет что отсутствуют нужные параметры конструктора? class Aircraft { public: Aircraft(int _maxSpeed, int _maxHeight) { ...

Исключение в конструкторе - C++
#include &lt;iostream&gt; class Vect { public: Vect(char); ~Vect() { try { delete p; } catch (...) { std::cerr &lt;&lt; &quot;Cannot...

Ошибка в конструкторе структуры - C++
При компиляции посредством MinGW и запуске выполняет конструктор один раз, а все последующие пропускаются и программа завершается (с кодом...

Если в конструкторе ошибка? - C++
День добрый! Только занялся С++ и хочу понять философию. Есть файл (или много) с данными с которым удобно работать через класс. При...

Синтаксис С++. Двоеточие в конструкторе - C++
struct busy_head { size_t size; busy_head(size_t size) : size(size) { }; // Как понимать двоеточие?????????? Заранее...

Ошибка в конструкторе класса - C++
Всем доброго времени суток! Есть простая задачка: Написать реализацию класса и короткую программку, использующую все функции-члены. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
04.10.2012, 23:15     Шаблон в конструкторе #2
при вызове ф-ции параметр шаблона выводится автоматически из типа аргументов
A *ptr = new A(Object);
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.10.2012, 18:23     Шаблон в конструкторе #3
Немного поясню.
В строке 16 вы пытаетесь не вызвать конструктор с аргументом шаблона "int", а создать экземпляр шаблонного класса A. На самом же деле ваш класс A шаблонным не является, что и вызывает ошибку компиляции.
Хотя мне, если честно, не ясна ошибка, которую выдал ваш компилятор, и уж точно неясно, почему она вылезла на той строке, на которой вылезла.
Yandex
Объявления
07.10.2012, 18:23     Шаблон в конструкторе
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru