dieses Problem Erfahrene, während eine Bindung machen zu eine Mitgliedsfunktion:
std::function<void(Appender<Contact>&)> f = std::bind(&Manager::AppendContacts, this, std::placeholders::_1);
Und dann passiert es som ewhere:
gBuf.append(f);
Der Fehler war:
LNK1179: invalid or corrupt file: duplicate COMDAT (...)
Die Member-Funktion genau die gleiche Signatur wie f
zu haben scheint (oder vielleicht überschreitet die maximale Grenze der Linker Prüfungen)
Wenn ich Anstatt es inline zu schreiben, ohne das Zwischenprodukt f
, gibt es keinen Fehler.
gBuf.append(std::bind(&Manager::AppendContacts, this, std::placeholders::_1));
Ich gebe vor, nicht zu verstehen, was hier passiert, aber vielleicht kann ich jemand ein paar Stunden speichern dies herauszufinden, wie ich hatte ...
Poorly formuliert. – karlphillip