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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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