Я пытаюсь инициализировать свой MedList, но он не работает. Вот что я говорю: repository.hИнициализировать список динамических векторов
#include "../domain/farmacy.h"
#include "../utils/DynamicVector.h"
class Repository{
private:
DynamicVector<Medicine>* MedList; //I made it pointer so it can be dynamic
public:
Repository(); //constructor
repository.cpp
#include "../domain/farmacy.h"
#include "repository.h"
#include "../utils/DynamicVector.h"
#include <stdlib.h>
Repository::Repository(){
this->MedList=new DynamicVector<Medicine>::DynamicVector(); //error
}
DynamicVector.h
template <typename Element> //this is the Dynamic Vector constructor
DynamicVector<Element>::DynamicVector()
{
this->cap=10;
this->len=0;
this->elems=new Element[this->cap];
}
ошибка выше:
Multiple markers at this line
- no match for 'operator=' in '((Repository*)this)->Repository::MedList = (int*)operator
new(4u)'
- expected type-specifier
- candidate is:
- expected ';'
это класс медицина
class Medicine{
private:
int ID;
std::string nume;
double concentratie;
int cantitate;
Динамический класс Vector:
template <typename Element>
class DynamicVector{
private:
Element* elems;
int cap;
int len;
void resize();
void CopyToThis(const DynamicVector& v);
public:
DynamicVector(); //constructor implicit
DynamicVector(const DynamicVector&); //constructor de copiere
DynamicVector& operator=(const DynamicVector&);
~DynamicVector();
void addElement(Element elem);
Element delElementAtPosition(int pos);
Element getElementAtPosition(int pos);
int getLen();
};
Что я делаю неправильно? Я пробовал много вариантов, но ничего не работает. Не могли бы вы помочь мне?
Вы можете оставить класс dynamicVector? – 2013-03-31 12:37:30
@stardust_ Я обновил код –
Да, у вас нет конструктора delared. См. Мой ответ. – 2013-03-31 12:52:04