С++ шпблоны

программирование программы C++

Доброго времени суток.
Есть шаблонный класс vect<N, T> (N - размерность, T - тип данных)
Класс целиком в .hpp.
После класса - определение пользовательских типов:
typedef vect<3, char> vect3c;
typedef vect<3, short> vect3s;
typedef vect<3, float> vect3f;
typedef vect<3, double> vect3d;
typedef vect<3, long double> vect3l;
typedef vect<3, int> vect3i;
typedef vect<3, unsigned int> vect3u;

Но вот если включить класс в .cpp и попробовать создать объект, то возникают проблемы:

vect3f = vect3f(0.0f, 0.0f, 1.0f); // vect3f was not declared in this scope

или, что то-же самое:

vect<3, float> = vect<3, float>(0.0f, 0.0f, 1.0f); // vect was not declared in this scope

Подскажите пожалуйста, в чём может быть проблема?

Примечание:
Да - это тип.
Да, C++11.
Но переменную как-раз объявить и не получается:

vect3f v;

vect3f was not declared in this scope
expected ; before v;

Примечание:
Конструктор есть.

Примечание:
Для 2D, 3D и 4D - частичная специализация.

Примечание:
Проблема решилась. Забыл, что поменял имя класса.
Ответы:
vect3f -- это тип, а не переменная. Объяви для начала переменную типа vect3f. Если у тебя есть конструктор, который может принять 3 числа в качестве аргументов (C++11, если вы понимаете о чём я), то объявить переменную можно так:
vect3f name(0.0f, 0.0f, 1.0f);


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.