Je veux comparer mes fonctions de classe "WorldChunk" "getX ()" et "getY ()" avec "chunk_x" et "chunk_y" passées à la fonction, mais je ne veux pas créer une nouvelle instance de "WorldChunk" pour comparer avec .

J'ai essayé quelque chose comme ça mais ça ne marche pas.

int ChunkGrid::unload_chunk(unsigned int chunk_x, unsigned int chunk_y)
{
    auto chunk = std::lower_bound(loaded_chunks.begin(), loaded_chunks.end(), NULL, 
        [chunk_x, chunk_y](const WorldChunk& ch, const auto * null)                                     
        {
            return (ch.getX() == chunk_x && ch.getY() == chunk_y) ? true : false;
        });;

//rest of the function

}

Journal des erreurs:

Error   C2672   'operator __surrogate_func': no matching overloaded function found.

Error   C2784   'auto ChunkGrid::unload_chunk::<lambda_d0b216222e2c66d42cf1e3316f6d68ac>::operator ()(const WorldChunk &,const _T1 *) const': could not deduce template argument for 'const _T1 *' from 'const _Ty' 
0
Zmiennocieplny 3 nov. 2019 à 18:52