Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Luokat

Sivun loppuun

temu92 [07.01.2006 22:03:26]

#

Täällä kun on monia C++ guruja niin voisko joku vaikka kirjoittaa tähän lyhyen oppaan (josta minäkin jotain älyäisin) kun tuolla koodivinkeissä olevat luokka oppaat ovat hieman epäselviä tai toisen älysin mutta pidemmässä meni yli hilseen :|

Metabolix [07.01.2006 22:10:47]

#

Jos jälkimmäisellä tarkoitat tuota template-luokkaa dynaamiseen miustinkäsittelyyn, niin sitä nyt ei tarvitsekaan ymmärtää, jos ei ole ohjelmoinut pitkään.

Kannattaa Googlettaa tai lukea täältä:
http://www.mit.jyu.fi/vesal/kurssit/winohj/html/cpp/m37.htm

temu92 [07.01.2006 22:25:57]

#

ok.

nyt kun on vielä tällänen aihe tehty niin mikä vikana tässä koodissa
kun valittaa

two or more data types in declaration of `suomi'
two or more data types in declaration of `ruotsi'
[Build Error]  [main.o] Error 1
#include <iostream>

struct VALTIO {
    int asukasluku;
    int pinta_ala;
}

struct VALTIO suomi = {5, 338127}, ruotsi;

int main(void)
{
    ruotsi.asukasluku = 8;
    ruotsi.pinta_ala = 449964;

    printf("Suomen pinta-ala on %li km² ja asukasluku on %.2f miljoonaa.",
    suomi.pinta_ala, suomi.asukasluku);

    printf("\n\n\n\n");
    system("PAUSE");
}

sama oli täällä oppaissa.

Deewiant [07.01.2006 22:37:21]

#

C:ssä/C++:ssa tulee struct-määritelmän jälkeen puolipiste. Eli:

struct VALTIO {
    int asukasluku;
    int pinta_ala;
};

temu92 [07.01.2006 23:43:22]

#

okei. nyt se toimii. olinkin vissiin copypastettanut koodin huolimattomasti.


EDIT: Alotin väsäämään jotain systeemiä. Heittää erroria

 C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x35a) In function `console_main':
  [Linker error] undefined reference to `SDL_main'
 C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x35a) ld returned 1 exit status
 C:\Dev-Cpp\projektit\kumma\Makefile.win [Build Error]  [proj.exe] Error 1
#include <iostream>
#include <SDL\SDL.h>

int main(){
    if( SDL_Init(SDL_INIT_VIDEO) < 0 )  // paluuarvon ollessa pienempi kuin 0, tapahtui virhe
    {
        fprintf(stderr, "SDL:n alustus ei onnistunut: %s\n", SDL_GetError()); // virheestä tiedot tiedostoon
        return 0; // lopetetaan ohjelma
    }
    SDL_Surface *naytto;
    naytto = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);

    int pois;

    while(pois == true){
          SDL_Event tapahtuma; // tapahtumat
          SDL_PollEvent(&tapahtuma);

          Uint8* nappi;
          nappi = SDL_GetKeyState(NULL);

          if (nappi[SDLK_ESCAPE]){
              pois=true;
          }

          SDL_WarpMouse(500,600);
    }

    SDL_Quit();
    return 0;
}

mikä vikana

Juice [08.01.2006 00:10:12]

#

Tämäkin lienee miljoonaan kertaan kysytty kysymys. Lisää linkkeriin -lsdl. Jos on jotakin epäselvää, putkan haku varmasti neuvoo lisää ;)

temu92 [08.01.2006 02:05:04]

#

On jo lisätty

temu92 [08.01.2006 09:26:40]

#

Niin muuten. Miten saan arvotun luvun?

kaviaari [08.01.2006 09:37:50]

#

Tuota hakunappulaa saa käyttää sitten ihan mielin määrin. Seuraavanlainen keskustelu löytyi ainakin.

https://www.ohjelmointiputka.net/keskustelu/3589-cpp-win-luvun-arpominen-ja-messagebox

temu92 [08.01.2006 12:46:32]

#

vielä tuo edellinen koodi jossa käytän sitä sdl:n kirjastoja. mika vikana?

sooda [08.01.2006 12:50:31]

#

linkkeriin -lsdlmain

temu92 [08.01.2006 12:54:12]

#

sekin löytyy

tn [08.01.2006 12:59:03]

#

Joissakin tapauksissa linkitysjärjestys voi vaikuttaa asiaan (mm. SDL:n kanssa) => koita vaihtaa -lSDLMain ja -lSDL toisin päin.

temu92 [08.01.2006 13:02:01]

#

eipäs vaikuttanut. heittää vaan enemmän erroria

sooda [08.01.2006 13:07:08]

#

No kerropa ne eroorit ettei tarttis käyttää sitä kristallipalloa.

temu92 [08.01.2006 13:10:36]

#

tässä

 C:\Dev-Cpp\lib\libsdlmain.a(SDL_win32_main.o)(.text+0x34b) In function `console_main':
  [Linker error] undefined reference to `SDL_SetModuleHandle'
  [Linker error] undefined reference to `SDL_main'
 C:\Dev-Cpp\lib\libsdlmain.a(SDL_win32_main.o)(.text+0x34b) ld returned 1 exit status
[Build Error]  [proj.exe] Error 1

os [08.01.2006 13:46:01]

#

Kokeile määritellä main-funktio näin:

int main(int argc, char *argv[])
{

// ...

  return 0;
}

temu92 [08.01.2006 13:58:25]

#

se siinä taisikin olla. thanks


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta