[C++ erreur]: Liste d'arguments de modèle incorrecte
Voilà les mots avec lesquels je me bats depuis le début de la journée !!!
Quelqu'un pourrait il m'aider SVP ?
[C++ erreur]: Liste d'arguments de modèle incorrecte
Voilà les mots avec lesquels je me bats depuis le début de la journée !!!
Quelqu'un pourrait il m'aider SVP ?
Il faudrait que tu nous situes le contexte.
Avec quel code as-tu ce problème ? Si possible un code minimal qui reproduise cette erreur.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Le contexte :
Je souhaite effectuer un tirage aléatoire entre [0,1] d'un réel. Je ne peux utiliser les fonctions classiques proposées par builder 6 car elles limiteent le pas entre deux tirages à 1/32767 alors que je veux une précision à 10e-7.
J'ai donc décidé d'installer la librairie boost qui propose des fonctions random plus élaborées et qui permettraient à priori de répondre à ma problématique.
Je pense avoir bien installée boost.
J'ai fait toutes les inclusions nécessaires.
Mon compilateur passe un certain nombre d'étapes mais il m'envoie l'erreur précédemment citée sur le morceau de code suivant :
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x564)
typedef typename random::detail::engine_helper<
boost::is_integral<typename decorated_engine::result_type>::value,boost::is_integral<typename Distribution::input_type>::value
>::BOOST_NESTED_TEMPLATE impl<decorated_engine, typename Distribution::input_type>::type internal_engine_type;
#else
enum {
have_int = std::numeric_limits<typename decorated_engine::result_type>::is_integer,
want_int = std::numeric_limits<typename Distribution::input_type>::is_integer
};
typedef typename random::detail::engine_helper<have_int, want_int>::BOOST_NESTED_TEMPLATE impl<decorated_engine, typename Distribution::input_type>::type internal_engine_type;
#endif
Ce morceau de code n'est pas de moi (c'est pour cela que je m'étonne de ce dysfonctionnement). Je l'ai recopié à partir du fichier "variate_generator.hpp"
J'aurai tendance à première vue à relier mon erreur à un autre morceau de la fonction qui apparait directement àprès les déclarations d'en tête:
// Borland C++ 5.6.0 has problems using its numeric_limits traits as
// template parameters
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x564)
#include <boost/type_traits/is_integral.hpp>
#endif
J'espère que ces éléments vous permettront de préciser mon problème. Merci d'avance.
Partager