Miya
Miya

Reputation: 29

Silo compilation error: no match for ‘operator<<’

Compile Silo and get the following error

error: no match for ‘operator<<’ (operand types are ‘std::ostringstream’ {aka ‘std::__cxx11::basic_ostringstream<char>’} and ‘std::pair<const std::__cxx11::basic_string<char>, long unsigned int>’)
  319 |     ss << *begin++;
      |     ~~~^~~~~~~~~~~

./util.h causes the error

template <typename ForwardIterator>
std::string
format_list(ForwardIterator begin, ForwardIterator end)
{
  std::ostringstream ss;
  ss << "[";
  bool first = true;
  while (begin != end) {
    if (!first)
      ss << ", ";
    first = false;
    ss << *begin++;  // here
  }
  ss << "]";
  return ss.str();
}

It seems this is a bug in Silo itself. I'm working on Debian 12@Linux 5.15.19. I’d like to know how to compile Silo correctly, thank you!

Silo website: http://dl.acm.org/citation.cfm?id=2522713

Silo repo: https://github.com/stephentu/silo

See above. (I have to write 20 characters)

Upvotes: 2

Views: 81

Answers (0)

Related Questions