?
=?ISO-8859-1?Q?Christian_M=F6rck?=
First of all, i would like to ask if this is even possible? Can you
post a method as an argument to an method?
Excuse the 'newbie' code.
======== Arghandler.h =============
class arghandler {
int count;
string *p_Argarray;
char m_error_msg[25];
public:
//Constructor
arghandler(int argc, char *argv[]);
//Destructor
~arghandler();
//Argument functions
bool ArgFunc(char *ArgOpt, void (*ArgOptFunc)());
//Help function
void help();
};
#include "arghandler.cpp"
======== Arghandler.cpp ==========
bool arghandler::ArgFunc(char *ArgOpt, void (*ArgOptFunc)()) {
for(int i=0;i<count;i++) {
if(p_Argarray == (string)ArgOpt) {
(*ArgOptFunc)();
}
}
return true;
}
void arghandler::help() {
cout << "HELP!\n";
exit(1);
}
arghandler::arghandler(int argc, char *argv[]) {
p_Argarray = new string[argc];
count = argc;
for(int i=0;i<argc;i++) {
p_Argarray = argv;
}
}
arghandler::~arghandler() {
delete [] p_Argarray;
}
=============== main.cpp ===========
#include "arghandler.h"
int main(int argc, char *argv[]) {
arghandler handler(argc, argv);
//I know this works if i send an function, but how
//does it work with sending an method - if it even do.
handler.ArgFunc("--help", help);
return 0;
}
=================================
handler.ArgFunc("--help", help); <--- this works if i define help() an
an usual function, but thats not what i want. I want it to take an
method as an argument.
Once again i would like to apologize for my code and if my question is
'newbie' or somewhat else.
post a method as an argument to an method?
Excuse the 'newbie' code.
======== Arghandler.h =============
class arghandler {
int count;
string *p_Argarray;
char m_error_msg[25];
public:
//Constructor
arghandler(int argc, char *argv[]);
//Destructor
~arghandler();
//Argument functions
bool ArgFunc(char *ArgOpt, void (*ArgOptFunc)());
//Help function
void help();
};
#include "arghandler.cpp"
======== Arghandler.cpp ==========
bool arghandler::ArgFunc(char *ArgOpt, void (*ArgOptFunc)()) {
for(int i=0;i<count;i++) {
if(p_Argarray == (string)ArgOpt) {
(*ArgOptFunc)();
}
}
return true;
}
void arghandler::help() {
cout << "HELP!\n";
exit(1);
}
arghandler::arghandler(int argc, char *argv[]) {
p_Argarray = new string[argc];
count = argc;
for(int i=0;i<argc;i++) {
p_Argarray = argv;
}
}
arghandler::~arghandler() {
delete [] p_Argarray;
}
=============== main.cpp ===========
#include "arghandler.h"
int main(int argc, char *argv[]) {
arghandler handler(argc, argv);
//I know this works if i send an function, but how
//does it work with sending an method - if it even do.
handler.ArgFunc("--help", help);
return 0;
}
=================================
handler.ArgFunc("--help", help); <--- this works if i define help() an
an usual function, but thats not what i want. I want it to take an
method as an argument.
Once again i would like to apologize for my code and if my question is
'newbie' or somewhat else.