Forum » Programiranje » [C++] problem
[C++] problem
Braindead ::
Imam takole definirane spremenljivki:
typedef short t_board[8][8]; // pod. struktura za igralno ploščo
typedef const t_board* p_board;
naprej, pa je koda nekaj takšnega:
public void funkcija(p_board playground)
{
t_board plosca = ???? // kako naj iz playgrounda dobim t_board, ker rabim za klicanje naslednjih funkcij
}
typedef short t_board[8][8]; // pod. struktura za igralno ploščo
typedef const t_board* p_board;
naprej, pa je koda nekaj takšnega:
public void funkcija(p_board playground)
{
t_board plosca = ???? // kako naj iz playgrounda dobim t_board, ker rabim za klicanje naslednjih funkcij
}
Še to poližemo pa gremo...
OwcA ::
Dereferenciraš:
plosca = &playground;
V čem je sploh smisel p_board? Saj je vendar že t_board kazalec.
plosca = &playground;
V čem je sploh smisel p_board? Saj je vendar že t_board kazalec.
Otroška radovednost - gonilo napredka.
Braindead ::
Če naredim:
plosca = &play_ground;
mi javi tole napako:
D:\Feri\Umetna Inteligenca\Reversi\reversi.cpp(28) : error C2440: '=' : cannot convert from 'const short (** )[8][8]' to 'short [8][8]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
če si slučajno mislil ravno obratno:
plosca = *play_ground;
potem pa je napaka sledeča:
D:\Feri\Umetna Inteligenca\Reversi\reversi.cpp(28) : error C2440: '=' : cannot convert from 'const short [8][8]' to 'short [8][8]'
There is no context in which this conversion is possible
smisel p_board in t_board pa še ne razumem popolnoma, ker delam nalogo, ki smo jo dobili na faksu in ima to že definirano od prej... narediti moram neki dll za igranje igre reversi (umetna inteligenca).
plosca = &play_ground;
mi javi tole napako:
D:\Feri\Umetna Inteligenca\Reversi\reversi.cpp(28) : error C2440: '=' : cannot convert from 'const short (** )[8][8]' to 'short [8][8]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
če si slučajno mislil ravno obratno:
plosca = *play_ground;
potem pa je napaka sledeča:
D:\Feri\Umetna Inteligenca\Reversi\reversi.cpp(28) : error C2440: '=' : cannot convert from 'const short [8][8]' to 'short [8][8]'
There is no context in which this conversion is possible
smisel p_board in t_board pa še ne razumem popolnoma, ker delam nalogo, ki smo jo dobili na faksu in ima to že definirano od prej... narediti moram neki dll za igranje igre reversi (umetna inteligenca).
Še to poližemo pa gremo...
OwcA ::
Ja, * sem mislil.
Če misliš plosca kaj spreminjati, lahko poskusiš z
plosca = const_cast<t_plosca>(*play_ground);
drugače pa plosco deklariraj za konstanto.
Če misliš plosca kaj spreminjati, lahko poskusiš z
plosca = const_cast<t_plosca>(*play_ground);
drugače pa plosco deklariraj za konstanto.
Otroška radovednost - gonilo napredka.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Največje računalniške napake v zgodoviniOddelek: Novice / Znanost in tehnologija | 16034 (12661) | MrStein |
» | C++ problem: težava z hirerarhijo razredaOddelek: Programiranje | 1235 (1075) | fiction |
» | C++ (iskanje, sortiranje, vpis v datoteko)Oddelek: Programiranje | 1089 (952) | soldie |
» | c++ datotekeOddelek: Programiranje | 4058 (3547) | Vesoljc |
» | CATALYST 3.6Oddelek: Programska oprema | 8063 (7548) | freejack |