**編輯:除了錯誤指出下面,我被錯誤地試圖編譯爲一個Win32項目,按照該錯誤代碼「不是所有的控制路徑返回一個值」
1> MSVCRTD .lib(crtexew.obj):錯誤LNK2019:無法解析的外部符號WinMain @ 16>在函數中引用_ _tmainCRTStartup 因此避免危機並完成作業。非常感謝你的幫助。希望當我知道一件或兩件東西時,我可以同樣向社區付錢**
在這項任務中,我們應該使用遞歸作爲確定單詞是否符合迴文的技巧。儘管我仍然在努力使它成爲解決問題的機制,但這段代碼看起來應該是正常的。但是,編譯器給我「不是所有的控制路徑返回一個變量」的錯誤。有任何想法嗎?
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
bool palcheck(string word, int first, int last);
int main()
{
ofstream palindrome, NOTpalindrome;
ifstream fin;
string word;
palindrome.open("palindrontest.txt");
NOTpalindrome.open("notPalindronetest.txt");
fin.open("input5.txt"); //list of palindromes, one per line
if (palindrome.fail() || NOTpalindrome.fail() || fin.fail())
return -1;
while (fin >> word)
{
if (palcheck(word, 0, (word.size()-1)) == true)
palindrome << word << endl;
else
NOTpalindrome << word << endl;
}
palindrome.close();
NOTpalindrome.close();
fin.close();
return 0;
}
bool palcheck(string word, int first, int last)
{
if (first >= last)
return true;
else if (word[first] == word[last])
return palcheck(word, first+1, last-1);
else// (word[first] != word[last])
return false;
}
中加入「決定」的稱號(我已經刪除它)取而代之,你應該接受一個答案,因爲它是在這裏做,所以:) – Stormenet 2011-03-21 22:03:14