我已经下载了一张图片,它保存在std::string
. 现在我想在以下条件下使用/打开它:
typedef uint8_t byte //1 byte unsigned integer type.
static open(const byte * data, long size)
我如何从string
to投射byte*
?
/编辑:
我已经尝试过这个:
_data = std::vector<byte>(s.begin(), s.end());
//_data = std::vector<uint8_t>(s.begin(), s.end()); //also fails, same error
_p = &_data[0];
open(_p, _data.size())
但我得到:
对'open(unsigned char const *,long)'的未定义引用
为什么它将字节错误地解释为char?!
/ EDIT2:只是为了测试它,我更改为函数调用
open(*_p, _data.size())
但后来我得到:
error: no matching function for call to 'open(unsigned char&, size_t)'
[...] open(const byte*, long int) <near match>
所以这个函数肯定找到了......