С++: Шаблоны для перегруженных операторов

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

Здравствуйте. Столкнулся с проблемой. Реализовал шаблон для обычного класса контейнера типа vector, разделил реализацию и файл интерфейса, после чего перестала работать программа. Притом до того, как я обычный класс переделывал в шаблон, раздельная реализация работала (интерфейс и реализация в разных классах)

В хедере просто класс и интерфейс.

template <typename T>
class Array
{

private:
int _size;
T *_pia;

public:
Array<T>(int sz = 12);
};

В классе реализации

#include "intarray.h"
#include <iostream>
using namespace std;

template <typename T>
Array<T>::Array(int sz)
{
this->_size = sz;
this->_pia = new T[this->s];

for(int i = 0; i<sz; i++)
{
this->_pia[i] = 0;
}

cout << "Array of 10 elements was created" << endl;
}
Ответы:
Именно поэтому и говорят, что С++ имеет высокий порог вхождения. :)
this->_pia = new T[this->s];
Меня это строчка смущает, точнее обращение к несуществующему полю s


11 лет назад

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

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

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