cvs.gedasymbols.org/archives/browse.cgi | search |
From: | "OmniMeta" <meta AT abacom DOT com> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Need help with class stuff |
Lines: | 72 |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Newsreader: | Microsoft Outlook Express 5.00.2014.211 |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2014.211 |
Message-ID: | <TnNj3.667$3C2.65692@wagner.videotron.net> |
Date: | Fri, 16 Jul 1999 17:25:23 -0300 |
NNTP-Posting-Host: | 207.253.161.51 |
X-Complaints-To: | abuse AT videotron DOT net |
X-Trace: | wagner.videotron.net 932160115 207.253.161.51 (Fri, 16 Jul 1999 17:21:55 EDT) |
NNTP-Posting-Date: | Fri, 16 Jul 1999 17:21:55 EDT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
This program call a class function using a pointer to it. Can someone please tell me why I get the warning : tst.cpp(44) Warning: converting from `void (Test::*)()' to `void (*)()' tst.cpp(45) Warning: converting from `void (Test::*)()' to `void (*)()' Here is the little program : #include <stdio.h> // printf #include <conio.h> // clrscr getch class Test { void Print1(); void Print2(); public: void (*Action)(); // my pointer char select(char key); }ClassTest; int main() { clrscr(); printf("Type 1 or 2 : "); fflush(stdout); do{} while( ClassTest.select(getch()) ); ClassTest.Action(); printf("\nPress a key to exit"); fflush(stdout); getch(); return 0; } char Test::select(char key) { switch(key) { // I get the warning at case '1': Action = &Print1; break; // this line case '2': Action = &Print2; break; // And this line default : return 1; } return 0; } void Test::Print1() { printf("\n\nHello !!!\nThis is what Print1 do.\n"); } void Test::Print2() { printf("\n\nHello !!!\nThis is what Print2 do.\n"); }
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |