SOLVED:C++ Questions
Vasilis Vasaitis
vvas at hal.csd.auth.gr
Wed Nov 26 02:27:23 EET 2003
On Wed, Nov 26, 2003 at 12:19:43AM +0200, Marios wrote:
>
> Ναι, έχεις δίκιο. Αυτό ήταν.
> Ευχαριστώ πολύ
Ερμ, όχι ακριβώς, δες παρακάτω.
> Υ.Γ. Για κάποιο τρόπο για την ακρίβεια των float ?
> Όχι όμως με setpressiccion. Νομίζω ότι αυτό απλά τυπώνει στην οθόνη την
> ακρίβεια.
Αυτό που ρώτησες περί ακρίβειας απλά δε στέκει. Οι float δεν έχουν
συγκεκριμένο αριθμό δεκαδικών ψηφίων, αλλά ψηφίων γενικότερα (με βάση
το δύο πάντα). Δεν είναι τυχαίο ότι λέγονται αριθμοί *κινητής*
υποδιαστολής. Πάντως για την εκτύπωση του αριθμού, η setprecision()
είναι αυτό που θέλεις.
> -----Original Message-----
> From: linux-greek-users-bounces at lists.hellug.gr
> [mailto:linux-greek-users-bounces at lists.hellug.gr] On Behalf Of V13
> Sent: Tuesday, November 25, 2003 11:23 PM
> To: linux-greek-users at lists.hellug.gr
> Cc: Marios
> Subject: Re: C++ Questions
>
> On Tuesday 25 November 2003 21:29, Marios wrote:
> > Θέλω αυτόν τον πίνακα να τον περάσω σε ένα function αλλά ως const, δηλαδή
> > να μην μπορεί να αλλάξει μέσα στο function. Όμως όταν κάνω αυτό
> >
> > func(const float ***array3);
> > Ο compiler λέει ότι δεν μπορεί να μετατρέψει ένα ***float σε const float*
> > Πώς γίνεται?
>
> Desto me 2 asterakia..
>
> exeis:
>
> void func(const float **p);
>
> int main()
> {
> float **a;
>
> func(a);
> }
>
> H func perimenei na parei enan pointer se antikeimena toy typoy
> 'const float *' eno esy stelneis enan pointer se antikeimena toy typoy
> 'float *' xoris na kaneis kapoio casting...
>
> Den einai to idio me to na alazeis to 'float *' se 'const float *'
>
> Gia ti periptosi soy dokimase na kaneis compile to:
>
> void func(const float ***a) {a[0][0][0]=0;}
> int main()
> {
> float ***a;
>
> func((const float ***)a);
> }
>
> to opoio einai ayto poy theleis...
Όχι, δεν είναι αυτό που θέλει. Άμα σου γκαρίζει ο compiler για κάτι
που κάνεις στραβά, το type casting είναι μεν μια λύση που θεραπεύει τα
συμπτώματα, αλλά όχι και την αιτία πίσω από το πρόβλημα. Αν και εδώ ο
φίλος μας δε μας είπε τι ακριβώς θέλει να είναι const και τι όχι,
υποψιάζομαι ότι θέλει κάτι τέτοιο:
void func(const float *const *const * p);
--
Vasilis Vasaitis
vvas at hal.csd.auth.gr
+306976604701
More information about the Linux-greek-users
mailing list