Я хочу вернуть ссылку на один элемент в векторе, который я получаю в качестве параметра, а затем сравнить там адреса памяти.Упрощенный пример моего кода показан ниже:
const int &test(std::vector<int> i) {
return i.at(3);
}
TEST(test, all_test) {
const std::vector<int> i = {1,2,3,4,5};
const int &j = test(i);
ASSERT_THAT(&j, Eq(&i.at(3)));
}
Используя это, я получаю следующее сообщение об ошибке:
Failure
Value of: &j
Expected: is equal to 0x55da7899d4dc
Actual: 0x55da7899d4fc (of type int const*)
Как я могу вернуть ссылку на один элемент вектора?