Ryu1991
Erfahrenes Mitglied
Hey, eigentlich dachte ich, ich wüsste was R-Value referenzen sind, und wozu sie benutzt werden, aber ich habe hier ein Stück Code, dass ich ursprünglich in VS2010 geschrieben habe, und jetzt wo ich im Rahmen einer größeren Programmrevision auf VS2013 gewechselt habe produziert dieser code aufeinmal einen Fehler im Zusammenhang mit RV-Referenzen, und ich habe keine Ahnung was das problem ist.
Hier der Code:
und hier der Fehler:
vielen Dank schonmal im Vorraus
EDIT: habe selbst eine Antwort gefunden, sieh hier: http://stackoverflow.com/questions/...in-c11-with-make-pair-ty1-val1-const-ty2-val2
Hier der Code:
C++:
void DataWriter::appendToPartition(uint32_t PartitionId, const char* FrameData, uint32_t numberOfAppendedFrames)
{
if(PartitionId >= numPartitions)
throw std::exception("DataWriter::appendToPartition : invalid PartitionID");
PartitionMutexes[PartitionId].lock();
Partitions[PartitionId].Data.push_back(std::make_pair<const char*, size_t>(FrameData, static_cast<size_t>(numberOfAppendedFrames)));
PartitionMutexes[PartitionId].unlock();
}
und hier der Fehler:
Code:
Fehler 1 error C2664: 'std::pair<const char *,size_t> std::make_pair<const char*,size_t>(_Ty1 &&,_Ty2 &&)' : Konvertierung von Argument 1 von 'const char *' in 'const char *&&' nicht möglich
vielen Dank schonmal im Vorraus

EDIT: habe selbst eine Antwort gefunden, sieh hier: http://stackoverflow.com/questions/...in-c11-with-make-pair-ty1-val1-const-ty2-val2
Zuletzt bearbeitet: