2012-02-27 59 views
-1

我想要一個布爾值賦給一個方法,然後根據該方法的輸出我知道是否執行下面的方法或不,但它似乎並不喜歡我做的方式。布爾分配給正則表達式方法

代碼如下

bool ok = (boost::regex_match(str1,string_matcher)) 
       { 
        DCS_LOG_DEBUG("Correct Number of Passengers"); 
        output.push_back("Correct Number of Passengers\n"); 
        DCS_LOG_DEBUG("2nd loop done 1"); 

       } 
       else 
       { 
        a = st[0]; 
        boost::regex const string_matcher1(splitMask[1]); 
        boost::trim(a); 
        if(boost::regex_match(a,string_matcher1)) 
        { 
         DCS_LOG_DEBUG("Correct format for surnamce"); 
         output.push_back("Correct format for surnamce\n"); 
         DCS_LOG_DEBUG("2nd loop done 4"); 
        } 
        else 
        { 
         DCS_LOG_DEBUG("Invalid format for surname"); 
         output.push_back("Invalid format for surname\n"); 
         DCS_LOG_DEBUG("2nd loop done 5"); 
        } 
       } 

我在做什麼不對勁的地方或者是不可能的?會很高興的任何幫助:)

回答

0

你缺少一個如果:

if (boost::regex_match(str1,string_matcher)) 

{...

OR:

bool ok = boost::regex_match(str1,string_matcher); 

if (ok) 
{ ...