Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » doch nicht unsigned?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
26.05.2005, 10:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hab noch mal ne fragsch zu dem thema...


C++:
if(subEdgeCalculationOffset<0 && abs(subEdgeCalculationOffset)>pointx)
   return -1;


subEdgeCalculationOffset ist ein int und pointx ein size_t... er motzt einen signed unsigend vergleich an was ja wohl unzweifelhaft daran liegt das abs anscheind ein int zurückliefert (ich frag mich wiso ausgerechnet nen int und kein unsigned int aber es ist nun mal so)...

So und nun meine Frage... wie werd ich die warning los ohne gleich mit nem cast auf das teil losgehen zu müssen... wie mach ich die abfrage schlauer... prinzipiell will ich ja nur

subEdgeCalculationOffset+pointx > 0 abfragen muss aber aufpassen da pointx nicht vorzeichenbehaftet ist...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
26.05.2005, 23:25 Uhr
(un)wissender
Niveauwart


subEdgeCalculationOffset+int(pointx) > 0 .
Kein cast.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
26.05.2005, 23:33 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


gefällt mir trotzdem nicht ...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
27.05.2005, 00:07 Uhr
virtual
Sexiest Bit alive
(Operator)


Naja, zu bedenken ist auch noch folgendes, völlig losgelöst von der warning:


C++:
int subEdgeCalculationOffset = INT_MIN;
pointx = 4711;
...
if(subEdgeCalculationOffset<0 && abs(subEdgeCalculationOffset)>pointx) {
...
}


Was erwartest Du?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
27.05.2005, 00:37 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ja ok es gibt kein äquivalent im Positiven...

das ist aber imho eigentlich kein Problem da sich subEdgeCalculationOffset im Bereich +-20 bewegen wird in keine sinn mehr in den von dir genannten Beispiel machen würde, da kann dann ruhig bullshit bei rauskommen (würde ja noch nicht mal da er dann -1 returned da x auch nicht den wert 10000 überschreiten wird...)...

sag mir lieber wie ich da andere "problem" löse
Ich war schon voller hoffnung als ich las das du ne antwort geschrieben hast
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 27.05.2005 um 00:37 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
27.05.2005, 00:48 Uhr
virtual
Sexiest Bit alive
(Operator)


Man pointx zum int.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
27.05.2005, 00:54 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


die idee find ich nicht so toll... es gibt keine negativen koordinaten ich wollte da ein unsigend haben... mein schönes design alles für den arsch...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
27.05.2005, 07:12 Uhr
Tommix



'Morgen,
wenn Du sonst keine Probleme hast... Wie wärs denn damit:

C++:
unsigned uabs(int var)
{
    return (var < 0) ? -var : var;
}

// ...
if(subEdgeCalculationOffset<0 && uabs(subEdgeCalculationOffset)>pointx)



Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
27.05.2005, 11:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

wenn Du sonst keine Probleme hast..


ja dann macht man sich welche

eigene Betragsfunktion hatte ich auch überlegt aber ich war mir ziemlich sicher das es da was direkteres (insgesamt hübscheres gibt...)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
27.05.2005, 11:56 Uhr
ao

(Operator)



Zitat von Windalf:
eigene Betragsfunktion hatte ich auch überlegt

Die Standard-Funktionen von C sind von Natur aus minimalistisch. Wenn du eigene Vorstellungen davon hast, welche Datentypen deine Programme verwenden sollen (kann ja durchaus sinnvoll sein, sich das einmal sorgfältig zu überlegen und dann über mehrere Projekte konsequent dabei zu bleiben), dann bietet sich an, zwischen die C-Lib und deine Funktionen eine Anpassungsschicht zu legen. In diese gehört dann u.a. die selbstdefinierte Betragsfunktion.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: