Pourquoi le code ne reconnait pas que arg2 est un string.
Bonjour,
Je suis un debutant en c++. Je travaille avec les c++ & j'essaie de faire des fractions pour m'entrainer. Mais, il y a un problème avec la condition. Ma variable arg2 est un string pourtant il ne peut pas detecter les string.
\projects\training\training\head.h(19) : error C2678: '==' binaire*: aucun opérateur trouvé qui accepte un opérande de partie gauche de type 'std::string' (ou il n'existe pas de conversion acceptable)
head.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <iostream>
#include "fraction.h"
using namespace std;
fraction::fraction(int arg1,int arg2)
{
m_numerateur = arg1;
m_denominateur = arg2;
m_decimal = arg1/arg2;
}
int fraction::getDenominateur() const
{
return m_denominateur;
}
double fraction::calculer(fraction &arg1,string arg2,fraction &arg3)
{
if(arg2 == "a")
{
return 1;
}
return 0;
} |
fraction.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #ifndef FRACTION_H
#define FRACTION_H
#include <iostream>
using namespace std;
class fraction
{
private:
int m_numerateur;
int m_denominateur;
double m_decimal;
public:
fraction(int arg1 = 0,int arg2 = 1);
double calculer(fraction &arg1,string arg2,fraction &arg3);
int getDenominateur() const;
};
#endif |