類路徑的構造函數最初包含以下代碼,用於檢查文件中是否存在元素(「gpx」,「rte」等)。它應該運行。C++中的重構代碼
if (! elementExists(source,"gpx"))
{
oss << endl << "no gpx tag";
constructorReport = oss.str();
constructorSucceeded = false;
return;
}
if (! elementExists(source,"rte"))
{
oss << endl << "no rte tag";
constructorReport = oss.str();
constructorSucceeded = false;
return;
}
我試着引入一個函數來替換這些if語句。該程序的構建沒問題。
void Route::constCheck(string source, string type)
{
if (! XML_Parser::elementExists(source, type))
{
std::ostringstream oss;
oss << std::endl << "no" << type <<" tag";
constructorReport = oss.str();
constructorSucceeded = false;
return;
}
}
我已經改變了它檢查產生錯誤的GPX文件,但與我的附加功能,它繼續好像沒有錯誤。
任何幫助表示讚賞,請讓我知道,如果你需要更多的信息。我試圖按照指導原則保持代碼輕鬆。
你覺得呢'return'呢? –
返回void函數沒有必要:)但這裏的問題在於其他地方。 – 0xDEFACED
你能告訴我們你如何以及在哪裏執行你的新功能嗎? – 0xDEFACED