क्या कोई तरीका है कि आप भविष्यवाणी कर सकते हैं?भविष्यवाणियों का मिश्रण
चलें कहते हैं कि मैं कुछ इस तरह है:
class MatchBeginning : public binary_function<CStdString, CStdString, bool>
{ public:
bool operator()(const CStdString &inputOne, const CStdString &inputTwo) const
{ return inputOne.substr(0, inputTwo.length()).compare(inputTwo) == 0; }
};
int main(int argc, char* argv[])
{
CStdString myString("foo -b ar -t az");
vector<CStdString> tokens;
// splits the string every time it encounters a "-"
split(myString, tokens, "-", true, true);
vector<CStdString>::iterator searchResult = find_if(tokens.begin(), tokens.end(), not1(bind2nd(MatchBeginning(), "-")));
return 0;
}
यह काम करता है, लेकिन अब मैं कुछ ऐसा करना चाहते हैं:
searchResult = find_if(tokens.begin(), tokens.end(), bind2nd(MatchBeginning(), "-b") || not1(bind2nd(MatchBeginning(), "-")));
तो मैं पहली स्ट्रिंग प्राप्त करना चाहते हैं जो "-b" या पहली स्ट्रिंग से शुरू होता है जो "-" से शुरू नहीं होता है। हालांकि, यह मुझे एक त्रुटि देता है (बाइनरी '||' अपरिभाषित)।
क्या ऐसा करने का कोई तरीका है?
आपको संकलन के लिए शायद एक शिम फ़ंक्शन की आवश्यकता होगी: कक्षाओं के लिए कोई टेम्पलेट तर्क अनुमान नहीं है। – xtofl
Thx इसे इंगित करने के लिए, मैंने जवाब संपादित किया, और कुछ अन्य भाग भी तय किया ... – gimpf