int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
但是如果包含头文件iostream 或者string, 编译的时候可以通过.
#include <iostream>
int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
请教:
1. 使用size_t类型, 一定要包含头文件?
2. 如果一定要包含头文件, 包含iostream或者string都可以?
谢谢!
20 个解决方案
#1
using namespace std;
#2
/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
#else
#define __size_t
#endif
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ long unsigned int
#endif
#if !(defined (__GNUG__) && defined (size_t))
typedef __SIZE_TYPE__ size_t;
#ifdef __BEOS__
typedef long ssize_t;
#3
谢谢楼上2位.
关于1楼
还是提示'size_t' does not name a type
using namespace std;
int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
关于2楼
刚开始学C++, 没有看懂, 谁帮忙解释一下, 谢谢!
关于1楼
还是提示'size_t' does not name a type
using namespace std;
int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
关于2楼
刚开始学C++, 没有看懂, 谁帮忙解释一下, 谢谢!
#4
c语言包含stddef.h
c++包含cstddef
c++包含cstddef
#5
实际是 typedef unsigned int size_t;
而这条定义语句被放在名空间namespace中了,所以要包含才能使用,否则未定义
而这条定义语句被放在名空间namespace中了,所以要包含才能使用,否则未定义
#6
哦, 我明白了, ayw215应该是对的, 需要包含cstddef头文件, 以下引用百度百科:
size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。
如果没有异议, 今天晚上结贴啦.
size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。
如果没有异议, 今天晚上结贴啦.
#7
有异议, 好久没分入账了,楼主晚上别忘了把我捎上,thanks
#8
我DEV-C++ 按我说的编译没问题
#9
#10
To pengzhixi, 不知是否我们使用的Dev-C++不一样? 我的是4.9.9.2版.
#11
typedef size_t unsigned integer;
#12
typedef size_t unsigned int
#13
using namespace std
#14
学习了
#15
应该是用户自定义的吧
#16
4.9版本的devcpp该淘汰了,请使用wxdevcpp,现在已经是7.x版本了。
#17
http://topic.csdn.net/u/20081013/21/1dc799fd-36ac-46bc-a911-e8ed07cd11d9.html
#18
是一个 数组下标的类型吧
#19
unsigned integer!
#20
#include <cstddef> // For size_t
#21
#1
using namespace std;
#2
/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
#else
#define __size_t
#endif
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ long unsigned int
#endif
#if !(defined (__GNUG__) && defined (size_t))
typedef __SIZE_TYPE__ size_t;
#ifdef __BEOS__
typedef long ssize_t;
#3
谢谢楼上2位.
关于1楼
还是提示'size_t' does not name a type
using namespace std;
int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
关于2楼
刚开始学C++, 没有看懂, 谁帮忙解释一下, 谢谢!
关于1楼
还是提示'size_t' does not name a type
using namespace std;
int main()
{
const size_t array_size=10;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix){
ia[ix]=ix;
}
return 0;
}
关于2楼
刚开始学C++, 没有看懂, 谁帮忙解释一下, 谢谢!
#4
c语言包含stddef.h
c++包含cstddef
c++包含cstddef
#5
实际是 typedef unsigned int size_t;
而这条定义语句被放在名空间namespace中了,所以要包含才能使用,否则未定义
而这条定义语句被放在名空间namespace中了,所以要包含才能使用,否则未定义
#6
哦, 我明白了, ayw215应该是对的, 需要包含cstddef头文件, 以下引用百度百科:
size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。
如果没有异议, 今天晚上结贴啦.
size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。
如果没有异议, 今天晚上结贴啦.
#7
有异议, 好久没分入账了,楼主晚上别忘了把我捎上,thanks
#8
我DEV-C++ 按我说的编译没问题
#9
#10
To pengzhixi, 不知是否我们使用的Dev-C++不一样? 我的是4.9.9.2版.
#11
typedef size_t unsigned integer;
#12
typedef size_t unsigned int
#13
using namespace std
#14
学习了
#15
应该是用户自定义的吧
#16
4.9版本的devcpp该淘汰了,请使用wxdevcpp,现在已经是7.x版本了。
#17
http://topic.csdn.net/u/20081013/21/1dc799fd-36ac-46bc-a911-e8ed07cd11d9.html
#18
是一个 数组下标的类型吧
#19
unsigned integer!
#20
#include <cstddef> // For size_t