C++ Valide l'utilisation de la fonction de membre, vous avez oublié le ( )?

Je suis en train de travailler sur une mission où je créer mon propre conteneur à l'aide de modèles. Le conteneur, je suis amené à utiliser est appelé Smaph, qui prend en deux paires de chiffres et de fait une variété de fonctions avec eux. Je suis seulement permis de faire un fichier d'en-tête pour cette mission. J'ai créé une liée individuellement classe evier, qui prend un argument de modèle.

Actuellement, je suis en train d'essayer d'obtenir une sensation pour les modèles, et d'apprendre à les utiliser, donc j'ai un exemple très simple j'espérais que vous pourriez m'aider avec. J'ai un push_back fonction dans ma liste individuellement liée classe pour ajouter à mes modèles. Pour une raison quelconque, je ne peux pas ajouter des choses à mon evier parce que je reçois une erreur de compilation qui dit, Invalide l'utilisation de la fonction de membre, (push_back), avez-vous oublié l' ( )? Quelqu'un peut m'expliquer pourquoi j'obtiens cette erreur?
Merci!!!!

template <typename T>
class slink {
  private:
    struct node {
    T datum;
    struct node *next;
    };
    node *head, *tail;
  public:
     slink() : head(0), tail(0) {
    }

    ~slink() {
    clear();
    }
    void push_back(const T &datum) {
    node *p = new node;
    p->datum = datum;
    p->next = 0;
    if (!tail)      
        head = p;
    else
        tail->next = p;
    tail = p;
    }

template <typename Tfirst, typename Tsecond>
class Smaph {

    public:
        Smaph();
        ~Smaph();
        Smaph(const Tfirst a, const Tsecond b) {
            std::pair<Tfirst, Tsecond> pair1(a, b);
            s.push_back(pair1);
        }
    private:

        slink<std::pair<Tfirst, Tsecond> > s();


};

Et enfin, mon principal pour tester mon programme. Tout ce que je veux maintenant, c'est l'ajout de ces deux nombres pour ma seule liste liée par le biais de mon Smaph.

int main() {
        Smaph<int, double> s(3, 6.3);
}
  • Il serait utile de publier le code d'erreur complet, avec la ligne fautive.
  • Épineux parse, etc.
InformationsquelleAutor user1299379 | 2013-05-01