\t\t同一个程序,在VC6有错误和VS2005没有问题
来源:互联网 发布:数据库工资管理系统 编辑:程序博客网 时间:2024/05/16 15:58
今天在学习C++的时候,遇到一个问题。同一个程序,在VC6.0中会报错,而在VS2005中就没有问题,哎……下面把这个程序粘出来。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Pairs
{
string name;
int val;
};
vector<Pairs> pairs;
int& value(const string& s)
{
for (int i=0;i<pairs.size();i++)
{
if (s==pairs[i].name)
{
return pairs[i].val;
}
}
//初始化的问题 VC6.0报错 error C2552: 'p' : non-aggregates cannot be initialized with initializer list
Pairs p={s,0};
pairs.push_back(p);
return pairs[pairs.size()-1].val;
}
int main()
{
string buf;
while (cin>>buf)value(buf)++;
for (vector<Pairs>::const_iterator p=pairs.begin();p!=pairs.end();++p)
cout<<p->name<<":"<<p->val<<endl;
return 0;
}
意思就是说,结构体初始化后不能再用{***,***}赋值,只能一个一个成员赋值,或者用自己写的函数赋值。
但是这段程序用VS2005编译就没有问题,顺利执行。
- \t\t同一个程序,在VC6有错误和VS2005没有问题
- 检查用户在T表空间上没有权限却有对象在T上面SQL;
- \t\t在VC6.0中查看汇编代码
- 怎么回事?在vs2005中和在vc6中运行时的错误不一样(指针问题)
- VC6.0写的程序在VS2005上运行出现的问题
- \t\t写个小问题
- <? extends T> 和 <? super T>分别是什么意思?有什么不同?
- C++中vector<T>*和vector<T*>有什么区别
- toString(T t)函数在.h中出错的问题
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- \t\tsizeof(char*)几个字节?
- 创建四角星按钮
- \t\tint类型到底占几个字节?
- syslog
- LeetCode6-ZigZag convert
- \t\t同一个程序,在VC6有错误和VS2005没有问题
- xmlbean
- \t\twhile(cin>>***)如何跳出?
- \t\ti++和++i的问题
- 十三.MUI
- webservice
- java 操作csv文件
- \t\t在VC6.0中查看汇编代码
- flex