GCC 14 «возможно, висящая ссылка на временное» предупреждение или нет, в зависимости от аргумента функцииC++

Программы на C++. Форум разработчиков
Anonymous
GCC 14 «возможно, висящая ссылка на временное» предупреждение или нет, в зависимости от аргумента функции

Сообщение Anonymous »

В следующем коде C++ GCC 14 с флагами -Wall -Wextra выдает предупреждение о возможной висячей ссылке для функции g(), но не для f(). Почему?

Код: Выделить всё

/* getval.h */
#include 
std::string const & getVal(std::string const & key);

Код: Выделить всё

/* main.cpp */
#include "getval.h"
#include 

void f()
{
std::string key{"x"};
std::string const &s = getVal(key);
std::cout 123
Я ожидаю, что предупреждение будет выдано в обоих случаях или ни в одном (более ранние версии gcc или clang не выдают предупреждение).

Подробнее здесь: https://stackoverflow.com/questions/787 ... pending-on

Вернуться в «C++»