PDA

Visualizza la versione completa : [C++] Problema Template


Luiz91
24-06-2014, 17:22
Ciao a tutti ho un problema con i template. Premetto che uso come Ide Eclipse (Kepler ) e MNGW.
Il mio problema è il seguente: Ho creato una classe template Lista all'interno di un header file, successivamente provata e perfettamente funzionante, dopo di che ho creato una seconda classe insieme anch'essa template al'interno della quale volevo mettere tra le variabili private una variabile Lista<T> dell altra classe template . Ho incluso "Lista.h" ovviamente e ho dichiarato la variabile Lista<T> chiamandola l , ho salvato compilato e non sembrava esserci alcun problema. Il problema è sorto nell implementazione della mia classe insieme, dove non riesco a sfruttare i metodi della variabile lista esempio :


template <class T> Insieme<T>::Insieme () { l.creaLista() ;}

una cosa del genere non me la fa fare, e me ne sono accorto poichè eclipse che di solito mi suggerisce i vari metodi che posso utilizzare dopo la scrittura del punto non trova nessun suggerimento.

Per capirci meglio all'interno di insieme ho una cosa del tipo


template <class T> class Insieme {

public:
......
....
....
private:

Lista<T> l ;
.....
.....
}

Cosa sto sbagliando ? Non si posso usare dei template all'interno di altri template ?

MItaly
24-06-2014, 22:18
Quello che dici si può fare, ed è pratica normalissima (anche perché se no i container STL sarebbero sostanzialmente inusabili). O stai facendo qualche altro errore, o semplicemente è una carenza del completamento automatico di Eclipse; in generale i completamenti automatici per C++ di rado sono esenti da errori, dato che il C++ è un linguaggio piuttosto incasinato da parsare, e solo di recente con Clang & co. è diventato semplice potersi interfacciare da un IDE direttamente con un compilatore C++ "vero" per ottenere i suggerimenti.

Loading