isblank () не распознается

Кажется, что функция isblank () заголовка cctype не распознается компилятором gcc. Я использую блоки кода и получаю:

ошибка: «isblank» не был объявлен в этой области

Я проверил заголовок gcc cctype и нашел следующие строки:

   81 #ifdef __GXX_EXPERIMENTAL_CXX0X__
82
83 #ifdef _GLIBCXX_USE_C99_CTYPE_TR1
84
85 #undef isblank
86
87 namespace std
88 {
89   using ::isblank;
90 } // namespace std
91
92 #endif // _GLIBCXX_USE_C99_CTYPE_TR1
93
94 #endif // __GXX_EXPERIMENTAL_CXX0X__
95
96 #endif

Как я могу заставить isblank () работать? и о чем эти строки в основном?

ОБНОВИТЬ

Мой код:

#include <iostream>
#include <cctype>

using namespace std;

int main()
{
char ch;

cout << "\n\n\n Enter a character:  ";
cin >> ch;

if (isblank(ch))
cout << "\n blank characters.";

cout << "\n\n\n";
}

версия кодовых блоков: 16.01
Компилятор GCC / G ++ и отладчик GDB из TDM-GCC (версия 4.9.2, 32-разрядная версия, SJLJ).

0

Решение

в порядке,

Спасибо всем,

Я заставляю его работать, снимая флажок проверенного компилятора:

настройки -> настройки компилятора -> флаги компилятора -> -std = c ++ 14h

Однако я уверен, что это повлияет на некоторые другие программы. Я помню, что установил этот флаг, потому что некоторые другие функции не работали без него.

Использование других компиляторов является еще одним вариантом, как отмечено в комментариях, таких как MinGW64 или MSVC ++.

это ссылка на сайт может быть полезно прочитать:

Еще раз спасибо.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]