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).


person Shadi    schedule 19.03.2017    source источник
comment
Покажи нам свой код.   -  person John Zwinck    schedule 19.03.2017
comment
См. здесь: минимально воспроизводимый пример   -  person anatolyg    schedule 19.03.2017
comment
Каковы ваши g++ параметры компиляции? Это кажется уместным: stackoverflow.com/questions/2958398/   -  person Andrew Henle    schedule 19.03.2017
comment
Кроме того, возможно, укажите свою версию g++ (запустите g++ -dumpversion) и версию кодовых блоков; эта проблема кажется зависящей от версии.   -  person anatolyg    schedule 19.03.2017


Ответы (1)


OK,

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

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

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

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

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

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

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

person Shadi    schedule 19.03.2017
comment
Подумайте об обновлении вашего компилятора, например. вы можете использовать последнюю версию mingw-w64, в которой нет этой проблемы. 4.9.2 уже довольно старая. - person M.M; 19.03.2017