これが許可されている理由がわかりません:
void Renderer::UpdateTextureFromArray(unsigned int* colors, unsigned int size, TextureData* textureData) const
{
D3D11_MAPPED_SUBRESOURCE ms;
this->deviceContext->Map(textureData->texture, 0, D3D11_MAP_WRITE_DISCARD, NULL, &ms);
memcpy(ms.pData, colors, sizeof(unsigned int) * size * size);
this->deviceContext->Unmap(textureData->texture, 0);
}
UpdateTextureFromArray 関数を const にしましたが、そのメンバーに対して非 const 関数を呼び出すことはできますか?
この場合、関数に const というラベルを付けるのはスタイルが悪いのでしょうか?
編集:明確にするために、この const のような関数を持っている場合、社会に「嘘をついている」のですか? 完璧な世界では、このコードはコンパイルされませんよね?