Expected unqualified-id before 'if' – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Expected unqualified-id before 'if' – C / C++ – Fórum – Programujte.comExpected unqualified-id before 'if' – C / C++ – Fórum – Programujte.com

 

Ykita
~ Anonymní uživatel
16 příspěvků
5. 10. 2008   #1
-
0
-

Zdravím,
mám problem při sestavování programu a nevím co se myslí když to píše tyto errory:

nevím co je špatně.

error: expected unqualified-id before 'if'
error: expected unqualified-id before 'else'
error: expected declaration before '}' token


#define ClampValue(VAL, min, max) {


if(VAL < min) \

VAL = min; \

else \

{ \

if(VAL > max) \

VAL = max; \

};
} \



moc prosím o pomoc nevím čím to je..

Nahlásit jako SPAM
IP: 83.208.22.–
Matrix17
~ Anonymní uživatel
300 příspěvků
5. 10. 2008   #2
-
0
-

To Ykita : Řekl bych, že se mu nezdá to, jak používáš direktivu #define. Tohle sem ještě nikde neviděl a řekl bych, že to ani nemůže být správně (pokud se pletu rád se poučím). Ani nechápu jaký by to mělo smysl...

Nahlásit jako SPAM
IP: 78.156.128.–
dannyk0
Věrný člen
5. 10. 2008   #3
-
0
-

Mam dojem,ze se neda definovat viceradkova funkce(bloky).Ten blok kodu definuj jako metodu:



public void ClampValue(VAL, min, max) {
if(VAL < min)
VAL = min;
else
{
if(VAL > max)
VAL = max;
}
}

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
yaqwsx+9
Posthunter
5. 10. 2008   #4
-
0
-

To Matrix17 : Je to C-čkovská definice inline f-cí. Moc se v zápisu #define neorientuji, ale pokud si matně vpomínám, tak by neměl být na více řádků.

EDIT: Omlouvám se za špatnou radu, ale aspoň jsem zase o něco chytřejší

Nahlásit jako SPAM
IP: 85.160.81.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
imcold0
Newbie
5. 10. 2008   #5
-
0
-

Okrem posledného riadku viacriadkového makra musíš mať spätné lomítko na konci každého riadku (vrátane prvého); v príklade ti na niektorých riadkoch chýbajú.

Nahlásit jako SPAM
IP: 89.173.112.–
bukaj0
Věrný člen
5. 10. 2008   #6
-
0
-

dannyk, yaqwsx
Je to C-čkovská definice inline f-cí.
Není, inline funkce se definují pomocí klíčkového slova inline, #define definuje makro ;o)

v zápisu #define ... by neměl být na více řádků.
Ano, přesně tak.

Ykita
Řádky se však dají oescapovat pomocí zpětného lomítka (o což se tady v kódu asi někdo snažil), ale takhle olomítkovaný musí být každý řádek, bez výjimky.

#define ClampValue(VAL, min, max) { \

if (VAL < min) { \
VAL = min; \
} else if (VAL > max) { \
VAL = max; \
}

(Dej si pozor, při kopírování kódu do schránky. Nevím proč, ale vždycky se mezi každý řádek vloží ještě jeden navíc. Vymaž je.)

*EDIT: imcold byl rychlejší :o)

Nahlásit jako SPAM
IP: 85.70.13.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
Ykita
~ Anonymní uživatel
16 příspěvků
5. 10. 2008   #7
-
0
-

Jo dík moc nějak sem to vyřešil někde sem musel smazat aji "prebytečný" řádky dík moc.

Nahlásit jako SPAM
IP: 83.208.22.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 64 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý