Код: Выделить всё
template class AssertionMatcher final {
public:
explicit AssertionMatcher(const ActualType &actual): _actual(std::move(actual)) {}
template auto contains(const ContainedType &contained) const -> void {
Assertion::_fail("Cannot check that a '" + getTypeName() + "' contains something.");
}
}
template
class AssertionMatcher {
public:
auto contains(const ContainedType &contained) const -> void {
Assertion::success(); // code testing the vector
}
};
template [[nodiscard]] auto assertThat(const ActualType &actual) -> AssertionMatcher {
return AssertionMatcher(actual);
}
< /code>
И я называю это таким образом: < /p>
const std::vector container({1, 2, 3});
assertThat(container).contains(2);
error: too many initializers for ‘crossedfingers::AssertionMatcher’
38 | return AssertionMatcher(actual);
| ^~~~~~~~~~~~~~~~~~~~~~~~
< /code>
У меня закончились идеи, как это исправить. У вас есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/796 ... tion-error
Мобильная версия