Hola, tu problema está en:
No puedes inicializar el objeto en la declaración, para ello tienes que hacerlo en la lista del constructor:
Código C++:
Ver original#include <iostream>
#include <set>
using namespace std;
class Objeto{
private:
int id;
public:
Objeto(int id){
this->id = id;
}
Objeto(){
id = 0;
}
void setId(int id){
this->id = id;
}
int getId(){
return id;
}
};
bool comp(Objeto* a, Objeto* b){
return a->getId() < b->getId();
}
bool(*fn_pt)(Objeto*,Objeto*) = comp;
class Contenedor{
private:
set
<Objeto
*, bool
(*)(Objeto
*,Objeto
*)> conj;
public:
Contenedor
():conj (fn_pt
){}
void addObjeto(Objeto* o){
}
void mostrarObjetos(){
Objeto* aux;
set<Objeto*>::iterator it;
for(it
= conj.
begin(); it
!= conj.
end(); it
++){ aux = *it;
cout << aux->getId();
}
}
};
int main(){
cout << "Hola =)" << endl;
return 0;
}