1

コードが以前は機能していたが、しばらくするとコンパイルが停止したという奇妙なエラーが発生しました。エラーは次のとおりです。

Could not find a match for 'std::transform<InputIterator,OutputIterator,UnaryOperation>(char *,char *,char *,charT (*)(charT,const locale &))' in function main() 

それが参照している行は次のとおりです。

    string ans;
    cin>>ans;
    std::transform(ans.begin(), ans.end(), ans.begin(), ::tolower);

なぜこれが起こっているのか、誰かが私を助けてくれますか? 私が使用したインクルードは次のとおりです。

#include <fstream.h>;
#include <iostream.h>;
#include <string>;
#include <time.h>;
#include <vector>;
using namespace std;

どうもありがとうございました

4

2 に答える 2

0

わたしにはできる。を含めるのを忘れたのかもしれません<algorithm>

このように動作するはずです:

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
   string ans;
    cin>>ans;
    std::transform(ans.begin(), ans.end(), ans.begin(), ::tolower);
   cout << ans;
   return 0;
}
于 2013-07-03T07:20:00.910 に答える