Я столкнулся с этим странным поведением в VS2008, который я могу воспроизвести в новом проекте только с этим кодом:error: C2039: 'iswspace': не является членом 'std', но std :: isspace() компилирует отлично
#include <cctype>
using namespace std;
int main() {
isspace(' ');
iswspace(L' ');
std::isspace(' ');
std::iswspace(L' '); // <--- ONLY THIS LINE has error
return 0;
}
std::isspace
и iswspace
не вызывают ошибку компиляции, но std::iswspace()
делает.
Я не понимаю, почему std::isspace()
был бы членом std, но std::iswspace()
- нет. Я сомневаюсь, что это поведение, совместимое со стандартами.
Я думаю, вам нужно #include –
@AndyM Спасибо! Можете ли вы опубликовать его в качестве ответа? Также вы знаете, почему 'iswspace()' без 'std ::' действительно работал? – sashoalm