• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Referencja, różny zapis funkcji

+1 głos
414 wizyt
pytanie zadane 24 lutego 2019 w C i C++ przez Teslum_369 Gaduła (4,190 p.)

Witam,

Mam pytanie jak mógłbym zamienić taki zapis funkcji:

int &funkcja(int k)
{
  // (...);
}

W taką ( niestety ona nie działa sad ):

auto &funkcja(int k) -> int
{
  // (...);
}

Czy jest taka zamiana w ogóle możliwa? (Jeśli usuniemy znak '&' to obie funkcje działają, lecz dlaczego ta druga nie działa ze znakiem ampersand'u?) [Dla uściślenia C++11].

 

Z góry dziękuję smiley.

1 odpowiedź

+2 głosów
odpowiedź 24 lutego 2019 przez draghan VIP (106,230 p.)
wybrane 24 lutego 2019 przez Teslum_369
 
Najlepsza

Cześć. :)

Pytasz tutaj o to, jak zadeklarować funkcję "z ogonkiem" która ma zwracać referencję do int.

Spójrz sobie do dokumentacji, przykład (2). Zobaczysz wtedy, że typ powinien być po prawej stronie... Zatem deklaracja powinna wyglądać o tak:

auto funkcja(int k) -> int&

 

komentarz 24 lutego 2019 przez Teslum_369 Gaduła (4,190 p.)

Działa, dziękuję bardzo smiley!

1
komentarz 24 lutego 2019 przez Patrycjerz Mędrzec (192,320 p.)

Ja tylko dodam, że w GCC działa dodanie `const` przy słowie `auto`, a w Visual Studio już nie. Ot, taka ciekawostka...

// Działa w GCC, w VS słowo `const` musi być przy `int&`
const auto funkcja(int k) -> int&
{
  // (...);
}

Podobne pytania

0 głosów
3 odpowiedzi 1,966 wizyt
pytanie zadane 11 stycznia 2018 w C i C++ przez kptpiotr Początkujący (330 p.)
0 głosów
2 odpowiedzi 679 wizyt
pytanie zadane 7 listopada 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 1,414 wizyt
pytanie zadane 20 marca 2018 w C i C++ przez Sic Dyskutant (8,510 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,368 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...