NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
IT rekvalifikace s podporou uplatnění. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!

Diskuze: C++ chyba při returnu

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Tomáš N.
Člen
Avatar
Tomáš N.:10.7.2016 20:12

Ahoj,

mám problém s return háže mi to u { chybu: expected an expression.

A zde ten celý return:

return { (DWORD)false, (DWORD)false };

V C++ jsem začátečník.

Předem děkuji za pomoc :)

 
Odpovědět
10.7.2016 20:12
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Tomáš N.
Martin Dráb:10.7.2016 20:21

Jaký datový typ má ta funkce vracet?

Nahoru Odpovědět
10.7.2016 20:21
2 + 2 = 5 for extremely large values of 2
Avatar
Tomáš N.
Člen
Avatar
Odpovídá na Martin Dráb
Tomáš N.:10.7.2016 20:23
DWORD dwBase;
DWORD dwSize;
 
Nahoru Odpovědět
10.7.2016 20:23
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Tomáš N.
Martin Dráb:10.7.2016 20:38

To jsi mi moc nepomohl. Zajímala mě hlavička té funkce. Každopádně pokud chceš vracet dvojici, tak buď jako std::pair, nebo jako strukturu.

Příklad se strukturou:

struct S {
public:
  DWORD dwBase;
  DWORD dwSize;
};

S funkce(...)
{
  ...
  S s;
  s.dwBase = (DWORD)true;
  s.dwSize = (DWORD)true;
  return s;
}

Nebo přes std::pair:

std::pair<DWORD, DWORD> funkce(...)
{
  ...
  return std::make_pair<DWORD, DWORD>((DWORD)true, (DWORD)true);
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
10.7.2016 20:38
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.