John Femiani wrote:
Hi,
After programming with Python and switching back to C++, I am missing the flexibility of a scripted language.
Specifically, I am annoyed at having to specify the arguments of a function at compile time. Is there anyway I can avoid specifying the exact arg structure? I thought boost might do this somehow?
Say for example, I have a message handler function. I want to be able to send all sorts of arguments to the same function, which can then deduce what to do according to the data held in those args. I don't want to have to overload everything as I am passing these message handlers around using boost::function/boost::bind.
Are you thinking of named arguments, or do you want 'isinstance'?
I was hoping to be able to call one function with different args, wrapping those args somehow. In python, I could call a function with a list, dict or tuple. Since this one object was the argument, it didn't matter what it contained. I know I could pass a vector in C++, but this needs a single data type. In python I could call: MyFunc((1, "2", anObject)) # - all in a tuple MyFunc(("aardvark", 42)) # another tuple Anyway to replicate this very convenient functionality? Si