收录日期:2019/04/24 20:53:38 时间:2016/05/30 10:06:12 标签:C++ 语言
#include<iostream>
#include<fstream>
#include<vector>
#include<string>

using namespace std;

void main()
{
typedef struct
{
int NEbeg;
int NEend;
string NEtype;
}NE;
    NE zhp[2];

zhp[0].NEbeg = 2;
zhp[0].NEend = 5;
zhp[0].NEtype = "nt";

zhp[1].NEbeg = 9;
zhp[1].NEend = 16;
zhp[1].NEtype = "ni";

vector<NE> NEvec;

NEvec.push_back(zhp[0]);
NEvec.push_back(zhp[1]);

cout<<"successful!"<<endl;
cout<<NEvec[0].NEbeg<<endl;
}

这样为什么会有编译错误,而把结构体的定义
typedef struct
         {
int NEbeg;
int NEend;
string NEtype;
}NE;
放在函数外面就可以了?
晕……PF佩服楼主的基本功……
局部类不能作为模板参数,这是 C++ 一个很可惜的限制。
up
哈哈,放错地方拉
前面老大已经说了,像这样放在函数里面的类叫局部类,局部类的限制太大了,几乎很少看到使用

局部类的限制,大致有以下几点
1. 局部类只在其所在的局部域内可见
2. 在定义局部域以外的地方不能(实际上是没有语法)访问局部类的成员
3. 局部类的函数必须定义在类里面
4. 局部类不能还有静态成员
5. 局部类只能访问外围定义的类型名、静态变量或者枚举值,不能访问局部对象


原来如此啊呀...
为什么不能用作模板参数,这是因为模板是需要实例化的(不可能在,实例化时,怎么访问这个局部类呢?main()::NE? main::NE?
这其实是第1,2个限制

就是说不能通过的原因就是那个模板要实例化
上面的兄弟们说的太好了,大家再来讨论啊
是的
局部类不能作为模板参数
学习了。

呵呵,楼主发贴是一个角,现在成了两个角啦
呵呵,,学习。。
凑个热闹, 局部类也不熟 ^_^
学习ing ....

CB6.0中,如何用Try....Catch 来取得Oracle后台的错语代号....请高手看看代码.. URL传值给servlet的问题!!!!急 上网后标题烂的字体变得很小? 无组件下载问题,在等 怎么样将一个string 转换为一个xml啊? jdbc如何更改表结构 在线等! Image控件的loadpicture方法 检测用户名是否存在 散分~~~~为我的重生而干杯! asp程序运行时,网页底部出现\"网页上有错误\",可是又看不出是哪有错误? 怎麼去封裝DataGrid轉Excel這一段代碼(請教高手) 多语言的问题 界面上显示多重语言 怎样用多台服务器来共同负担一个Sqlserver实例,有经验的朋友给点一下 VS2003写的ASP.NET提示这个错怎么办??? 在线急等 如何在JApplet中调用数据库中的数据(急用) 新下载得PB 10怎么不能创建SQL SEVER 数据库????????????? 求一个简单的行列转换SQL语句,望哪位大哥大姐伸出援助之手 问个关于读取网页保存到本地的问题。。。请高手来指点下 JTree添加节点 求助!!!!用OO思想来优化几行代码。 各位能否推荐一些好用的数据库表格控件? 这样的情况应该如何来做? [本人水源私人事物处理帖] 求助 有关dw层和框架 又是winform的DataGrid的问题! URL传值给servlet的问题!!!!急 如何把下面一段pas代码写成一个h文件?? 如何利用fastreport打印大幅面的报表 为何左键就行,右键就不行呢?(拖动无标题窗口) 欢迎大家发表对静态类、静态方法、静态变量的看法