-2
Ok Я обновил код:C++ неожиданные ошибки синтаксиса
#ifndef VECTOR_H
#define VECTOR_H
#include<cstdlib>
#include<vector>
#include<iostream>
using namespace std;
template < typename T>
class MyClass
{
public:
MyClass() : size(10), index(0) { vec = new T[10]; };
MyClass(int i) : size(i), index(0) { vec = new T[i]; };
friend bool Add(T i);
virtual ~MyClass();
friend ostream& operator<<(ostream& out, const T& obj);
private:
T * vec;
int size;
int index;
};
template <typename T>
virtual MyClass<T>::~MyClass()
{
delete[] vec;
}
template <typename T>
ostream& operator<<(ostream& out, const MyClass<T>& obj){
for (int i = 0; i < index; ++i)
out << obj[i] << " ";
out << endl;
}
template <typename T>
bool MyClass<T>::Add(T i){
if (size == index){
size *= 2;
realloc(vec, size);
}
vec[index++] = i;
}
#endif // !VECTOR_H
Список ошибок: Ошибка 1 Ошибка C2039: 'добавить': не является членом с 'MyClass': \ Пользователи \ mihaibogdan \ документы \ Visual Studio 2013 \ Projects \ dashit \ dashit \ header.h 41
Попробуйте использовать 'std :: ostream &' вместо 'ostream &'. – phantom
Прежде всего, * какие ошибки вы получаете? Измените свой вопрос, чтобы включить полный и неотредактированный журнал ошибок. Во-вторых, какая строка - строка 13? Пожалуйста, отметьте это каким-то образом, как комментарий или что-то еще. –
Возможно, вам понравятся [ошибки Клэнга] (http://coliru.stacked-crooked.com/a/072554d676124b1b) лучше. С другой стороны, здесь имеется масса ошибок. – chris