【发布时间】:2011-09-23 01:13:57
【问题描述】:
我正在尝试将std::vector 用作char 数组。
我的函数接受一个空指针:
void process_data(const void *data);
在我只是简单地使用这段代码之前:
char something[] = "my data here";
process_data(something);
按预期工作。
但现在我需要std::vector的动态性,所以我尝试了这段代码:
vector<char> something;
*cut*
process_data(something);
问题是,我如何将 char 向量传递给我的函数,以便我可以访问向量原始数据(无论它是哪种格式——浮点数等)?
我试过了:
process_data(&something);
还有这个:
process_data(&something.begin());
但它返回了一个指向乱码数据的指针,后者给出了警告:warning C4238: nonstandard extension used : class rvalue used as lvalue。
【问题讨论】: