2017-05-16 3 views
-1

次は私のコードコンパイラが関数への未定義参照を示しています。何をすべきかを詳しく教えてください。 の定義されていない参照についてのエラーは、です。isPalindrome()はブール値ですか?コンパイラは関数への未定義参照についてエラーを返します

int main() 
{  
     cout << "Please enter a string: "; 
     cin >> input; 

     cout<<"Vowel Count"<<vowelcount(input); 
     while(1) 
     { 
       if(isPalindrome()) 
       { 
         palindrome_count++; 
       } 
     } 
     cout<<"palindrome_count"<<palindrome_count; 
} 
bool isPalindrome(string input) 
{ 
     do{ 

       if (input == string(input.rbegin(), input.rend())) { 
         cout << input << " is a palindrome\n"; 
       } 
     } 
     while(1); 
} 
+0

次回は完全なプログラムを投稿してください。問題に関連する 'main()'の前からいくつかの要素を省略しました –

答えて

0

エラーメッセージは、あなたが知る必要があることを正確に示しています。 IsPalindromeは、使用する前にコードで定義されていません。それを参照する場所(つまりmainの上)に定義するか、関数のプロトタイプを作成してください。

0

私は機能の宣言を忘れてしまったと思います。したがって、上記のforword宣言をmain()の機能の上に置いてください。 Like:

bool isPalindrome(string input); 
+1

引数の入力を関数に渡すことを忘れました。私はそれをたくさんいただきました。 –

+0

op invoke ubをお勧めしますか? O_o – George

+0

あなたは間違いを間違えています。関数が宣言されていない場合、_linker_エラーではなく、_unknown identifier_について_compiler_エラーが発生します。このエラーは、関数が宣言されているが、定義されていないことを示しています。関数定義のシグネチャ( 'bool isPalindrome(文字列入力)')とその呼び出し( 'isPalindrome()')を見れば、エラー。 –

関連する問題