Functions should have as few args as possible; at max 3. "More than 3 is very questionable and should be avoided with prejudice"
// chances are if you need this many arguments the function is too // complex and should be broken down void myLongComplexFunction(int arg1, int arg2, char *pointer1, bool ifPointer1, char *pointer2, MY_ENUM functionCondition1) { ... }