1

PNGファイルをロードするためにlodepngライブラリを使用してこのコードを作成しました。ライブラリは問題なく、他のプロジェクトで正常に使用されています。

const std::string tmpString = mapFileName.GetConstString();
    std::vector<unsigned char> xx;
    unsigned int error = lodepng::decode(xx, (unsigned int)this->mapWidth, (unsigned int)this->mapHeight, tmpString, LCT_GREY, (unsigned int)8);        

これをコンパイルしたいのですが、奇妙なエラーメッセージが表示されます。

MapHelper.cpp(72): error C2665: 'lodepng::decode' : none of the 5 overloads could convert all the argument types
          c:\ImageUtils\lodepng.h(200): could be 'unsigned int lodepng::decode(std::vector<_Ty> &,unsigned int &,unsigned int &,const unsigned char *,size_t,LodePNGColorType,unsigned int)'
         with
          [
              _Ty=uint8
          ]
          c:\ImageUtils\lodepng.h(203): or       'unsigned int lodepng::decode(std::vector<_Ty> &,unsigned int &,unsigned int &,const std::vector<_Ty> &,LodePNGColorType,unsigned int)'
          with
          [
              _Ty=uint8
          ]
          c:\ImageUtils\lodepng.h(211): or       'unsigned int lodepng::decode(std::vector<_Ty> &,unsigned int &,unsigned int &,const std::string &,LodePNGColorType,unsigned int)'
          with         
 [
             _Ty=uint8
          ]
          c:\ImageUtils\lodepng.h(759): or       'unsigned int lodepng::decode(std::vector<_Ty> &,unsigned int &,unsigned int &,lodepng::State &,const unsigned char *,size_t)'
          with
          [
              _Ty=uint8
          ]
          while trying to match the argument list '(std::vector<_Ty>, unsigned int, unsigned int, const std::string, LodePNGColorType, unsigned int)'
          with
          [
              _Ty=uint8
          ]

何が悪いのかわかりません。入力パラメーターの型はライブラリと同じであり、型の衝突はあり得ません。

私が持っているEDIT 関数lodepng::decodeはconstではありません

4

1 に答える 1