这是代码的一部分(标题和主要部分):
#include <iostream>
#include <sstream>
#include <string>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <glut.h>
#include <RassHost.h>
#include <api\iomap.h>
#include <api\iotrans.h>
#include <api\cgeometry.h>
#include <vector>
using namespace std;
int main()
{
cout << "Enter IP: " << endl;
getline(cin, server_ip);
enum(KEY_L = 'A', KEY_R = 'D', KEY_RUN = 'WW', KEY_JUMP='SPACE');
typedef OBJECT_3D_SYS_TYPES_NUM OBJECT3D_RCN_TYPE;
OBJECT3D_RCN_TYPE _psyObjects[][] = getPsyhicsPartObjects();
vector<OBJECT3D_RCN_TYPE> _objects;
//I would like to load _psyObjects[][] into vector<OBJECT3D_RCN_TYPE> _objects;
Server::StartGame(Server::getIP(), 8888, "-r run", false);
system("pause");
return 0;
}
是否可以将_psyObjects
值复制到vector<OBJECT3D_RCN_TYPE>
?
如果可能的话,我想用向量api控制多维数组。
谢谢!
答案 0 :(得分:3)
您需要创建矢量矢量:
vector< vector<OBJECT3D_RCN_TYPE> > _objects;
然后将它填充为普通矢量。
我发布了更多代码,但你需要知道数组的维度,我无法从代码中看到它们。
答案 1 :(得分:0)
您还可以使用Boost::multi_array
。它的api就像std::vector
一样,但可能足以满足您的需求。