Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Felmeddelande

Postades av 2006-07-20 12:49:03 - Urban Olsson, i forum c++, Tråden har 6 Kommentarer och lästs av 1015 personer

Hejsan

Får följande fel i raden som jag inte får bukt med.

Warning W8012 : Comparing signed and unsigned values in function main()

for(int i=0; i<tal.size(); i++)


Mvh

Urban


***Program***

#include <iostream>
#include <vector>
#include "iodos.h"


using namespace std;

int main()

{
dos_console();
srand( time(0));

int low=0, high=0, val=0;

cout << "Välj lägsta, och högsta tal : ";
cin >> low >> high;

cout << "Antal slumptal :";
cin >> val;

int random_integer;
int lowest=low, highest=high;
int range=(highest-lowest)+1;

vector<int> tal;
for (int index=0; index<val; index++)
{
random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));
tal.push_back(random_integer);
}
for(int i=0; i<tal.size(); i++)
{
cout << tal[i] << ' ';
}
return 0;
}


Svara

Sv: Felmeddelande

Postades av 2006-07-20 13:53:11 - Peter Larsson

Beror med högsta sannolikhet på att

tal.size()

inte returnerar ett tal av datatypen "int".


Svara

Sv:Felmeddelande

Postades av 2006-07-20 14:48:59 - Urban Olsson

Kan du ge ett exempel på hur det ska se ut. (Är fortfarande nybörjare i C++)

Mvh

Urban


Svara

Sv: Felmeddelande

Postades av 2006-07-20 15:25:13 - Peter Larsson

Det du kan göra är att använda dig av exempelvis explicit typkonvertering:

for(int i=0; i<(int)tal.size(); i++) {...}


Eller så kan du ändra variabeln "i" till att vara av den datatyp som tal.size() genererar.


Svara

Sv:Felmeddelande

Postades av 2006-07-20 15:28:51 - Niklas Jansson

Eller, det enda rimliga, använda en storlekstyp.

Antar att tal.size() returnerar en size_t (som vanligtvis är en unsigned int).

Då är rätt väg:

for(size_t i=0; i<tal.size(); i++) {...}


Men riktigt rätt väg brukar vara att använda iteratorer istället. (och framförallt: aldrig någonsin köra med [] på en vector om man inte absolut behöver prestandan).


Svara

Sv: Felmeddelande

Postades av 2006-07-20 15:32:50 - Urban Olsson

Tack killar.
Det löste mina problem.

/Urban


Svara

Sv:Felmeddelande

Postades av 2006-07-20 15:40:08 - Peter Larsson

Eller som Niklas rekommenderar, att använda sig av iteratorer.

Det blir i ditt fall:

#include <iostream>
#include <vector>
#include "iodos.h"


using namespace std;

int main()

{
    dos_console();
    srand( time(0));

    int low=0, high=0, val=0;

    cout << "Välj lägsta, och högsta tal : ";
    cin >> low >> high;

    cout << "Antal slumptal :";
    cin >> val;

    int random_integer;
    int lowest=low, highest=high;
    int range=(highest-lowest)+1;

    vector<int> tal;
    for (int index=0; index<val; index++)
    {
        random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));
        tal.push_back(random_integer);
    }

    vector<int>::iterator it;
    for(it=tal.begin(); it!=tal.end(); it++)
    {
        cout << *it << ' ';
    }
    return 0;
}


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
486
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies