我在班级的构造函数中有这个非常奇怪的错误。
#include "ContratException.h"
//#include "File.h"
namespace labPileFile {
template<typename T>
File<T>::File(const int max) :
m_tete(0), m_queue(0), m_tailleMax(max), m_cardinalite(0) {
m_tab = new T[m_tailleMax];
}
template<typename U>
std::ostream& operator <<(std::ostream& p_out, const File<U>& p_source) {
p_out << "[";
for (int i = 0; i < p_source.taille(); ++i) {
p_out << p_source[i] << ",";
}
p_out << "]";
return p_out;
}
}
Eclipse给了我几个“表达式不能用作函数”的错误
所有三个错误都是一样的。
这是我的.h,如果它可以帮助(我必须从.h创建.cpp,我得到了)
#ifndef _FILE_H
#define _FILE_H
#include <iostream>
#include <stdexcept>
namespace labPileFile {
template<typename T>
class File {
public:
File(const int = MAX_FILE);
~File();
File(const File<T> &);
const File<T> & operator =(const File<T> &);
void enfiler(const T &);
T defiler();
int taille() const;
bool estVide() const;
bool estPleine() const;
const T & premier() const;
const T & dernier() const;
T operator [](const int &) const;
void verifieInvariant() const;
private:
T *m_tab; /*!< Content of the queue*/
int m_tete; /*!< Head of the queue (first index)*/
int m_queue; /*!< Last index of the queue*/
int m_tailleMax; /*!< Current capacity of the queue*/
int m_cardinalite; /*!< Number of elements*/
static const int MAX_FILE = 100; /*!< Default capacity*/
};
}
#include "File.hpp"
#endif
有谁知道我做错了什么?