2016-05-09 1 views
0

Avec le prototype de fonction suivant, comment renvoyez-vous un élément de la liste?Type de retour de la fonction C++

std::list<int> &GD (int); 
+2

La signature implique que vous êtes de retour la liste entière ...? – twsaef

+0

Peut-être que [std :: advance] (http://fr.cppreference.com/w/cpp/iterator/advance) est ce que vous cherchez? Bien que je ne suis pas clair de la question exacte donnée votre exemple. –

+0

Quel article voulez-vous obtenir de la liste? La première? Le dernier? Tous? Si la réponse est "un élément avec un index aléatoire", alors vous voulez probablement autre chose que "std :: list". –

Répondre

1

Pour accéder à un élément d'une liste, vous pouvez appeler une fonction comme:

int get(int index, std::list<int> const& A) { 
    int i = 0; 
    auto pos = A.begin(); 
    while(i++ < index) pos = std::next(pos); 
    return *pos; 
} 
+1

std :: list n'a pas d'opérateur []. – kfsone