J'essaie d'utiliser boost::bind
avec la fonction std::sort
. Je veux lier trier dans une fonction sans paramètre et spécifier un tableau int pour trier.en utilisant std :: sort avec boost :: bind
Je suis confronté à des problèmes avec le paramètre template à spécifier lors du tri de la liaison. Si j'utilisais un conteneur standard, j'utiliserais simplement std::container<int>::iterator
mais comme j'utilise un tableau, je n'arrive pas à savoir quoi faire. utilisation.
Voici un code qui illustre mon problème de compilation:
const int NUM_VALUES = 100;
int nums[NUM_VALUES];
for (int i=0; i<NUM_VALUES; ++i)
{
nums[i] = NUM_VALUES - i;
}
boost::function<void()> sortHolder = boost::bind(&std::sort<type?>, nums, nums+NUM_VALUES);
Quelqu'un sait ce que les paramètres modèle à utiliser ici? Toute autre discussion est la bienvenue.
Avez-vous essayé de compiler ceci? – wilhelmtell
@wilhelmtell: Sorte de. Je n'ai pas Boost sur mon lappy donc j'ai utilisé le Visual C++ 2010 '' et j'ai échangé 'std ::' pour 'boost ::' dans la réponse. Est-ce que j'ai muck quelque chose? (Excuses sincères si je l'ai fait: '(si c'est le cas, n'hésitez pas à poster une correction et je vais enlever ceci et augmenter la correction) –
@James le problème ici est que 'std :: sort <>' n'est pas résolu même avec 'std :: sort'. –
wilhelmtell