Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Warnings beim Benutzen von "std::vector"

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 <
000
04.07.2004, 19:38 Uhr
~Jeif
Gast


Hi!
Immer, wenn ich im C++ Builder (Version 1) "std::vector" benutze, gibt es mehrere Warnings ("[C++ Warning] vector.h(438): Comparing signed and unsigned values."). Warum gibt er diese Fehlermeldungen aus? Wie kann ich das vermeiden?
Danke im Vorraus!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.07.2004, 20:03 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


vermutlich hast du singend und unsigned werte verglichen

wenn du z.b. die funktion size() verwendest dann bekommst du sinnvollerweise einen unsigned weil ein vector negativer grösse auch kein sinn machen würde...

typischerweise hast du vermutlich sowas gemacht

C++:
for(int i=0;i<myvec.size();++i)....



also einfach dann i auch unsigned definieren
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.07.2004, 20:09 Uhr
~Jeif
Gast


Das hab ich mir auch schon gedacht. Hab deswegen extra darauf geachtet. Daran kann es also nicht liegen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.07.2004, 20:11 Uhr
~Jeif
Gast


Ich muss in einem neuen Programm nur einen Vector deklarieren und die Warnings kommen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.07.2004, 20:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne code ist das schwer zu sagen kann auch was borland spezifisches sein...
meines wissen gibts eigentlich auch kein vector.h im standard da ist nur #include <vector> zu verwenden... kann sein das borland besonders grosszügig sein wollte und auch vector.h akzeptiert...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.07.2004, 00:51 Uhr
~Jeif
Gast


Ich hab die ganze Zeit nur "#include <vector>" benutzt...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.07.2004, 02:15 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Ich hab die ganze Zeit nur "#include <vector>" benutzt...


lol spricht ja dann nicht gerade für den compiler wenn er schreibt in vector.h...
was hat borland sich da blos ausgedacht?
naja vermtlich ist dein code sogar in ordnung und nur der compiler meckert. ist bei visual studio auch öfter so, diese warnings kann man dann leider nur ignorieren.
an sonsten lass code sehen
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 05.07.2004 um 02:17 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.07.2004, 02:59 Uhr
typecast
aka loddab
(Operator)


@Windalf: Das ist schon in Ordnung. Der Standard schreibt vor, dass man die Header ohne das .h includieren soll.
Das heißt die Compilerbauer haben freie Hand wie sie ihre Headerdateien nennen. Es ist üblich, dass die dann auch vector.h, iostream.h usw gennant werden.

Der gcc macht es z.B. so, dass es da eine Datei gibt, die sich vector nennt und in der dann per #include die anderen Dateien eingebunden werden:

C++:
#ifndef _CPP_VECTOR
#define _CPP_VECTOR 1

#pragma GCC system_header

#include <bits/functexcept.h>
#include <bits/stl_algobase.h>
#include <bits/stl_alloc.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_vector.h>
#include <bits/stl_bvector.h>

#endif /* _CPP_VECTOR */



@Jeif: Vielleicht war Borland einfach bei der Implementation ein wenig schlampig. Schau dir einfach mal die Datei vector.h an und paste hier mal den Inhalt der Zeile 438 und alles was logisch dazugehöhrt.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.07.2004, 09:09 Uhr
KaraHead



Eine kleine Frage nebenbei:
c++ builder 1 ist doch noch vor dem Standard von `99 rausgekommen, könnt es nicht damit zusammenhängen, dass der Compiler .h schreibt???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


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: