Kezdőoldal » Számítástechnika » Programozás » CPP const char * paraméterrel...

CPP const char * paraméterrel rendelkező függvény miért nem fut?

Figyelt kérdés

Van egy függvényem, ami const char *p, int base = 10 paraméterekkel hívódik meg. Lényegében egy atoi.

Minden jól lefut, ha a paraméter nem const.

Amikor meghívnám, azt a hibát kapom, hogy kétértelmű. Miért van ez?



2019. febr. 19. 17:23
 1/6 anonim ***** válasza:
Kódból értünk, nem dumából.
2019. febr. 19. 17:46
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

int atoi(const char *p, int base = 10){


for(int i=0; i<strlen(p);i++){

int szam = static_cast<int>(p[i]);

if (szam>base-1){

throw ("hiba");}

}

int res = 0;

for (int i = 0; p[i] != '\0'; ++i)

res = res*base + p[i] - '0';


return res;

}

2019. febr. 19. 18:02
 3/6 anonim ***** válasza:
És hogy hívod meg?
2019. febr. 19. 19:52
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
68%

Hát így ránézésre feltételezem kihasználod híváskor, hogy a második paraméternek van default értéke, ezért csak egy karakterláncot adsz át neki, továbbá be van húzva az stdlib is. Ekkor a fordító nem fogja tudni, hogy most a saját atoi() függvényedet vagy az stdlibben levőt kellene használnia: [link]


Adj más nevet a függvényednek.

2019. febr. 19. 20:45
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
4# Nem tud, ez egy BMEs bugrós házi.
2019. febr. 20. 14:25
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

#5


Ok, hát akkor vagy nem kell behúzni az stdlibet vagy nem kell behúzni a teljes std namespace-t vagy a saját atoi függvényt saját namespace-be kell tenni, stb.


Nem tudom mik a pontos kritériumok egy ilyen házinál, de igazából csak egyértelművé kell tenni, hogy melyik függvényt akarjuk használni.

2019. febr. 20. 21:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!