所以,我一直在做Reddit的daily programmer #140,不能使用std :: toupper和std :: erase。無法找到toupper和擦除
包括:
#include <iostream>
#include <string>
#include <cctype>
部分與toupper和擦除(用於轉換的話 '駝峯'):
std::string tekst;
std::cin >> tekst;
tekst[0] = std::touppper(tekst[0]);
for(unsigned int i = 0; i < tekst.size(); i++){
if(tekst[i] == 32){
std::erase(tekst[i], 1);
tekst[i] = std::toupper(tekst[i]);
}
}
而編譯器顯示錯誤:
error: 'touppper' is not a member of 'std'
error: 'erase' is not a member of 'std'
能有什麼導致它?提前致謝!
這些都不是標準功能...... – chris
@克里斯[呵呵RLY?](http://en.cppreference.com/w/cpp/string/byte/toupper) – 2013-11-09 20:19:27
不指定編譯器,但在MSVC你需要'#include' –