Type ne fournit pas l'opérateur d'appel

J'ai cette fonctionnalité,
order

, Qui retourne
vector<node*>



vector<node*> order/vector<string> nodes, vector<pair<string, string="">&gt; dependencies/ {
Graph graph = buildGraph/nodes, dependencies/;
vector<node*> order = buildOrder/graph.getNodes///;
return order;
}


Et j'appelle ça comme ça:


vector<node*> order2 = order/nodes, deps/;


Cependant, le compilateur émet cette erreur:


error: type 'std::__1::vector<node *="" *,="" std::__1::allocator<node=""> &gt;' does not provide a call operator
vector<node*> order2 = order/nodes, deps/;
^~~~~
1 error generated.


Qu'est-ce qui se passe mal?
'std::__1::vector<node *="" *,="" std::__1::allocator<node=""> &gt;'

, Il semble impliquer qu'il y a
vector<node*, <node*="">&gt;

Ou quelque chose se passe, mais je pense que je ne peux pas le comprendre.
</node*,></node></node*></node></node*></node*></pair<string,></string></node*></node*>
Invité:

Cyrille

Confirmation de:

Il est un peu difficile de dire sans publier un code plus complet, mais réfléchissez à ce qui suit:


int order/int j, int k/
{
return 3;
}

int main/int argc, char *argv[]/
{
char order;

// order/2, 3/;
}


Ce code est parfaitement construit. Cependant, commentant


// order/2, 3/;


cause un échec parce que dans
main

,
order

- Ceci est un symbole, pas une fonction. À en juger par le message d'erreur, vous pouvez avoir un problème similaire.

Pour répondre aux questions, connectez-vous ou registre