【发布时间】:2017-08-10 18:10:23
【问题描述】:
gcc 编译器似乎无法识别 cctype 头的 isblank() 函数。我使用代码块,我得到:
错误:未在此范围内声明“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 来自 TDM-GCC(版本 4.9.2,32 位,SJLJ)的 GCC/G++ 编译器和 GDB 调试器。
【问题讨论】:
-
向我们展示您的代码。
-
您的
g++编译选项是什么?这似乎很合适:stackoverflow.com/questions/2958398/… -
另外,也许指定你的 g++ 版本(运行
g++ -dumpversion)和代码块版本;这个问题似乎与版本有关。