pointer-to-object casting και ISO C++

Eustathios Kamperis ekamperi at auth.gr
Wed Mar 1 04:03:19 EET 2006


Καλημέρα σε όλους!

Θεωρήστε το εξής κομμάτι κώδικα:

void foo(const void *pf) {
  cout << "Function address: " << pf << endl;
}

void tralala() {
}

foo((void *) &tralala);

Αν κάνω compile με την παράμετρο -pedantic, ο compiler παραπονείται για 
το εξής:
"warning: ISO C++ forbids casting between pointer-to-function and 
pointer-to-object"

Αν παραλείψω την παράμετρο -pedantic, το πρόγραμμα μεταγλωττίζεται και 
εκτελείται σωστά.

Γνωρίζετε κάποιο τρόπο *συνεπή* με το πρότυπο της C++ κατά ISO για να 
περνάω στη foo() τη διεύθυνση της tralala(). Αν όχι, έχετε να μου 
προτείνετε κάποια εναλλακτική προσέγγιση στο όλο θέμα;

Ευχαριστώ πολύ! :)




More information about the Linux-greek-users mailing list