为什么我们不能从streambuf迭代器构造的字符串转换为基本字符串?

时间:2019-05-20 22:45:04

标签: c++ string

为什么这段代码在尝试将var columnDefsNew = [ { headerName: "", field: "column0", width: 300, }, { headerName: "", field: "column1", width: 100 }, { headerName: "", field: "column2", width: 100 }, { headerName: "", field: "column3", width: 100 }, { headerName: "", field: "column4", width: 100 }, { headerName: "", field: "column5", width: 100, }]; class Home extends Component { constructor(props) { super(props); this.state = { columnDefs: [ { headerName: "", field: "column0", width: 300 }, { headerName: "", field: "column1", width: 100 }, { headerName: "", field: "column2", width: 100 }, { headerName: "", field: "column3", width: 100 }, { headerName: "", field: "column4", width: 100 }, { headerName: "", field: "column5", width: 100 }], rowData: null, isLoading: false, error: null }; } componentDidMount() { this.setState({ isLoading: true }); axios.get(API + PARMS) .then(fubar => { const headerRow = fubar.data.header; const rowData = fubar.data.results; this.setState({ rowData }); columnDefsNew[0].headerName = headerRow.column0; columnDefsNew[1].headerName = headerRow.column1; columnDefsNew[2].headerName = headerRow.column2; columnDefsNew[3].headerName = headerRow.column3; columnDefsNew[4].headerName = headerRow.column4; columnDefsNew[5].headerName = headerRow.column5; this.setState({ columnDefs: columnDefsNew }); }) .catch(error => this.setState({ error, isLoading: false })); } render() { const { isLoading, rowData, columnDefs } = this.state; return ( <div className="ag-theme-balham" style={{ height: '525px', width: '900px' }} > <h2>{heading}</h2> <AgGridReact columnDefs={columnDefs} rowData={rowData}> </AgGridReact> </div> ); } } export default Home; 构造的字符串转换为常规的默认构造字符串时会产生错误?

std::istreambuf_iterator<char>

http://cpp.sh/6ptt5

编辑::添加了错误消息。

#include <string>
#include <streambuf>

int main()
{
    std::string filePath = "path";
    std::string source( 
        std::istreambuf_iterator<char>( 
            std::ifstream( filePath ) ),
            std::istreambuf_iterator<char>() );

    std::string s2 = source;
}

0 个答案:

没有答案