I had this loop
Code:
do { // Loop continues to run as long as (pcCW != 0)
.
.
.
cwR = cwRules[(loopCW * 2) + 1][pcCW]; // Fact-check at that spot
if (dbgOn && dbgStarted) {
cout << cwR << "...";
}
checkRule(cwOn, cwR, pcCW, cwWordCount, cwStage, cwLeftWord, cwRightWord, cwLineDone, pcCWRight, cwIgnore
, cwOnLeft, cwOnRight, cwDisqual, cwOptional, cwIgnoreWord, cwEndsWith, cwNot, cwInIgnore, cwFinishIgnore, cwCascade, cwInRepeat
, smarkerskt, emarkerskt, flags
, dbgOn);
if (!cwOn) {
pcCW = 0;
}
} while (pcCW != 0);
And the logic was getting too bulky - so I made that "checkRule" function - and am passing in - hopefully by reference (please someone confirm that!) - a whole lot of bool's and int's and what not.
checkRule declared like this
Code:
void checkRule(bool &cwOn, WCHAR &cwR, int &pcCW, int &cwWordCount, int &cwStage, int &cwLeftWord, int &cwRightWord, int &cwLineDone, int &pcCWRight, int &cwIgnore
, bool &cwOnLeft, bool &cwOnRight, bool &cwDisqual, bool &cwOptional, bool &cwIgnoreWord, bool &cwEndsWith, bool &cwNot, bool &cwInIgnore, bool &cwFinishIgnore, bool &cwCascade, bool &cwInRepeat
, int *smarkerskt, int *emarkerskt, short *flags
, bool &dbgOn)
{
.
.
.
}
Can I take all these bool's - for instance - and put them in some kind of structure so I am only passing one "parameter" but still getting at all these variables??