请教高手如何通过memcpy对vector bytes 赋值?
热爱生活 2011-08-18 10:19:32 #include <windows.h>
#include <iostream>
#include <string>
using namespace std;
#include <stdlib.h>
#include <vector>
using std::vector;
struct M
{
char tower[100]; // tower id
float windSpeed; // knots
short windDirection; // degrees
float temperature; // degrees Celsius
};
int
main(int argc, char* argv[])
{
M m;
strcpy_s<100>(m.tower,"sdadasd");
m.windSpeed=1.22;
m.windDirection=2;
m.temperature=2.45;
byte buff[100];
memcpy(buff,&m,sizeof(m)); //把m的内容以字节形式拷贝到buff中
vector<byte> bytes;//定义bytes 表示一组字节
bytes buf;//定义buf为一组字节格式
memcpy(buf,buff,sizeof(m));//我想把buff的内容付给buf结果报错:
// error C2664: “memcpy”: 不能将参数 1 从“std::vector<_Ty>”转换为“void *”
}
不知道怎么回事,该怎么修改呢?请高手指教一下!