开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
g++ Linux
程式码(Code):(请善用置底文网页, 记得排版)
#include <iostream>
#include <cstring>
#include <list>
using namespace std;
#define BUFFERSIZE 1024
class receivebuffer_0{
public:
unsigned char *payload;
int NALU;
receivebuffer_0() // Constructor
{
payload = new unsigned char[BUFFERSIZE];
NALU = 0;
}
};
int main() {
list<receivebuffer_0> WiFi;
receivebuffer_0 data;
size_t payloadLength = 100;
unsigned char payloadIndex[payloadLength];
payloadIndex[0] = 254;
payloadIndex[1] = 30;
data.NALU = 1;
cout<< (int)payloadIndex[0]<<endl; // output 254 OK
memcpy(data.payload , payloadIndex, 2);
WiFi.push_back(data);
payloadIndex[0] = 40;
payloadIndex[1] = 45;
data.NALU = 12333;
memcpy(data.payload , payloadIndex, 2);
WiFi.push_back(data);
cout<<(int)WiFi.front().payload[0]<<endl;
//output 40 .... should output 254
cout<<WiFi.front().NALU<<endl; // output 1
WiFi.pop_front();
cout<<(int)WiFi.front().payload[0]<<endl; // output 40
cout<<WiFi.front().NALU<<endl; // output 12333
return 0;
}
补充说明(Supplement):
我应该要如何修正呢?
另外为什么不能
cout<<(int)WiFi.front().payload;
这样不是可以印出 payload这阵列所有元素的值吗?
谢谢