gpt4 book ai didi

c++ - ostringstream operator[] 在尝试读取缓冲区时给出编译错误

转载 作者:行者123 更新时间:2023-11-30 04:27:44 24 4
gpt4 key购买 nike

我有一个扩展 ostringstream 类的类。

Class A: public ostringstream
{

}

我想从该对象读取指定大小和特定偏移量的数据。所以尝试:

A a_;
a_ << data1 << data2;
string datax(a_[offset], size);

但是在 string datax 语句中出现编译错误。

error: no match for operator[] in ... 

如何从对象 a_ 复制指定偏移量和大小的数据?我不想从对象 a_ 中删除数据。

注意:类是别人设计的,不能修改。

最佳答案

我相信使用您拥有的代码可以做到:

a_ << data1 << data2;
string datax(&a_.str()[offset], size);

我觉得有点丑。为什么不直接使用普通的 std::stringstream 呢? (除非您有充分的理由从 std::ostringstream 继承。

关于c++ - ostringstream operator[] 在尝试读取缓冲区时给出编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10707833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com