» »

[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
}
Še to poližemo pa gremo...

OwcA ::

Dereferenciraš:

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).
Še to poližemo pa gremo...

OwcA ::

Ja, * sem mislil. :8)

Č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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Največje računalniške napake v zgodovini

Oddelek: Novice / Znanost in tehnologija
4715359 (11986) MrStein
»

C++ problem: težava z hirerarhijo razreda

Oddelek: Programiranje
141160 (1000) fiction
»

C++ (iskanje, sortiranje, vpis v datoteko)

Oddelek: Programiranje
51006 (869) soldie
»

c++ datoteke

Oddelek: Programiranje
463830 (3319) Vesoljc
»

CATALYST 3.6

Oddelek: Programska oprema
167890 (7375) freejack

Več podobnih tem