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

Constantine Dokolas cdokolas at Sunsoftgr.com
Wed Mar 1 10:32:53 EET 2006


Eustathios Kamperis wrote:
> Καλημέρα σε όλους!
> 
> Θεωρήστε το εξής κομμάτι κώδικα:
> 
> 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(). Αν όχι, έχετε να μου 
> προτείνετε κάποια εναλλακτική προσέγγιση στο όλο θέμα;

Κάτι δεν κάνεις σωστά. Ελπίζω αυτό να σε βοηθήσει:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#195

-- 
  Theory asserts that although in theory there should be no
difference between theory and practice, in practice there IS
difference between theory and practice.




More information about the Linux-greek-users mailing list