将XML模拟为数据库

时间:2013-01-15 22:42:03

标签: c++ map multidimensional-array

我正在构建一个依赖于某些事件的双流系统,因此程序可以选择使用哪个流(数据库或文件)。 我想在使用该文件时模拟数据库,并想出了这个: std :: list将作为SqlRow,映射将是相应的关联列和值。 为了说明:

typedef map<string, string> SqlColumn;
typedef list<SqlColumn> SqlRow;

并将其定义为SqlRow *data = new SqlRow(0); 当我做这样的事情时,我收到一个错误:data[row].insert(make_pair("Key", "Value"));

error C2661: 'std::list<_Ty>::insert' : no overloaded function takes 1 arguments
1>        with
1>        [
1>            _Ty=SqlColumn
1>        ]

我的意思是,似乎编译器正在创建某种多维列表。因为如果我在那里放置一些其他尺寸,它会起作用。 (它实际上给了我另一个错误。但它确实指向我想要的地图。错误与它无关。但我会发布它。)

有人能告诉我到底发生了什么事吗?

其他信息:错误C2676:

binary '[' : 'SqlRow' does not define this operator or a conversion to a type acceptable to the predefined operator
error C2228: left of '.insert' must have class/struct/union

1 个答案:

答案 0 :(得分:1)

我不是C ++专家,但我不认为你可以data[row] data作为对象指针。