Dinamy array

So,I have the next code and what I'm trying to do is to get an element from a dynamic array but I get a" conversion from 'int' to non-scalar type 'Baloon' requested" error.I've tryed to return a `Baloon` object but that gives me errors in the main file.What am I doing wrong?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 template <typename TElem> class Vector{
priv;te: 					

	TElem* elems;
	int size;
	int capacity; 
public:Vector();
~Vector();
void add(TElem e)
void del(int poz);
Vector(const Vector &dv);
Vector& operator=(const Vector& dv);
TElem* getElems();
TElem getElementByPosition(int pos) const;

template <typename TElem>
TElem Vector<TElem>::getElementByPosition(int pos) const{

	if (!(pos<0 || pos>this->getSize()))
		return this->elems[pos];
	else	{
			return NULL;
		}
};
NULL and TElem are different types unless TElem is defined as NULL.
Last edited on
I know that.How can I signal when the given position is out of range without returning a NULL?
For example you can use an exception.
I'm not really comfortable with throwing exceptions,I don't feel like I can handle them properly.Any other ideas?
You can define the function in other way. For example you can define it as returning bool and having an output parameter of type TElem.
Ok.Defining it to return that bool is fine but i need that function to take an int when it is called(the position).Can I return only one of the 2 parameters by refference?
Topic archived. No new replies allowed.