读书人

using amp; size_type有关问题

发布时间: 2012-07-20 10:38:30 作者: rapoo

using & size_type问题
小弟初学C++, 碰到一个size_type的问题.
开发环境Code::Blocks 10.05, 代码1的出错提示如下, 如果改成代码2是正确的, 请大家帮忙看一下, 谢谢!

// *** 代码1 ***

#include <string>
using std::string::size_type;

int main()
{
size_type ix;
return 0;
}


E:\1.Study\Workspace\C++\C++_Primer\xiti_3.10.cpp2error: 'std::string' is not a namespace
E:\1.Study\Workspace\C++\C++_Primer\xiti_3.10.cppIn function 'int main()':
E:\1.Study\Workspace\C++\C++_Primer\xiti_3.10.cpp6error: 'size_type' was not declared in this scope
E:\1.Study\Workspace\C++\C++_Primer\xiti_3.10.cpp6error: expected ';' before 'ix'
=== Build finished: 3 errors, 0 warnings ===


// *** 代码2 ***

#include <string>
using std::string;

int main()
{
string::size_type ix;
return 0;
}


[解决办法]
size_type不是命名空间和域名,所以无法用using引用。
[解决办法]
using后面跟命名空间,而size_type是具体的数据类型
[解决办法]
using只能用于命名空间,例如std
string不是一个命名空间,是一个类,它内部的数据类型size_type不能用using引出来

读书人网 >C++

热点推荐