首页 > 解决方案 > 如何修复 C++ 中预期分号的错误?

问题描述

有人可以帮我解决这个错误吗?它总是返回错误(如问题中所述)。我是 C++ 的初学者,任何帮助将不胜感激。提前致谢

编辑:

这是包括

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <cstdio>
#include <fstream>
#include <iomanip>
#include <string>
#include <sstream>
#include <vector>
#include <iostream>
#include <iterator>


 std::istringstream rows(input);
 std::vector<row> data{std::istream_iterator<row>(rows),std::istream_iterator<row>()}; //the error occurs on this line
 std::cout << table(data);

编辑2:

结构表代码

struct table {
    table(std::vector<row> const &r) :t(r) { }
    std::vector<row> const &t;

    friend std::ostream &operator<<(std::ostream &os, table const &t) {
        os << "<table>";
        std::copy(t.t.begin(), t.t.end(), std::ostream_iterator<row>(os));
        return os << "</table>";
    }
};

标签: c++

解决方案


那不应该是初始化列表,看看是否有()帮助。

std::vector<row> data(std::istream_iterator<row>(rows),std::istream_iterator<row>());

现在您正在调用带有一对迭代器的构造函数。


推荐阅读