J'ai une classeComment fonctionne l'appel de cet objet fonction?
class fobj{
public:
fobj(int i):id(i) {}
void operator()()
{
std::cout<<"Prints"<<std::endl;
}
private:
int id;
};
template<typename T>
void func(T type)
{
type();
}
Si j'invoque func
comme
Méthode 1:
func(fobj(1));
le message que je voulais imprimer est imprimé.
Je pensais toujours que je devais faire quelque chose comme
Méthode 2:
fobj Iobj(1); // create an instance of the fobj class
func(Iobj); // call func by passing Iobj(which is a function object)
Comment fonctionne Méthode 1? Je veux dire ce qui se passe exactement?
Comment appelez-vous l'opérateur() dans la classe fobj?
Un avantage de l'affichage dans Stack Overflow est les réponses étonnantes :). Merci –