Verständnisproblem mit R-Value referenzen

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:
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:

Neue Beiträge

Zurück