vendredi 17 août 2018

I can t get enum class opertaors to work

I get an error as "FastOut::Flags FastOut::operator&(FastOut::Flags, FastOut::Flags)' must take either zero or one argument| "

template<int NMAX>
class FastOut{
enum class Flags;
protected:
    char buffer[NMAX];
    std::map<Flags,bool>FM={(UP,0),(LOW,0),(BOOL,0)};
public:
    friend  Flags operator&(Flags a,Flags b);
    FastOut();
    FastOut(const char *);
    FastOut(const std::string&);
    FastOut & operator << (int);
    FastOut & operator << (char);
    FastOut & operator << (long long);
    FastOut & operator << (float);
    FastOut & operator << (double);
    FastOut & operator << (char *);
    FastOut & operator << (const std::string &);
    FastOut & operator << (const FastOut&);
    void open(const char*);
    void open(const std::string&);
    void flush();
    void clear();
    ~FastOut();
};
template<int NMAX>
typename FastOut<NMAX>::Flags FastOut<NMAX>::operator&(Flags a,Flags b){

}

Aucun commentaire:

Enregistrer un commentaire