表达式不能用作构造函数

时间:2016-09-23 16:30:51

标签: c++ eclipse

我在班级的构造函数中有这个非常奇怪的错误。

#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给了我几个“表达式不能用作函数”的错误 Errors

所有三个错误都是一样的。

这是我的.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

有谁知道我做错了什么?

0 个答案:

没有答案