Кажется, что функция 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).
в порядке,
Спасибо всем,
Я заставляю его работать, снимая флажок проверенного компилятора:
настройки -> настройки компилятора -> флаги компилятора -> -std = c ++ 14h
Однако я уверен, что это повлияет на некоторые другие программы. Я помню, что установил этот флаг, потому что некоторые другие функции не работали без него.
Использование других компиляторов является еще одним вариантом, как отмечено в комментариях, таких как MinGW64 или MSVC ++.
это ссылка на сайт может быть полезно прочитать:
Еще раз спасибо.
Других решений пока нет …