2

intをバイナリに変換する関数がありますが、main関数から呼び出すと、エラーが発生binary: identifier not foundします。コードの何が問題になっていますか?

#include <iostream>
using namespace std;

int main(){

int dec;
cin >> dec; 
binary(dec);
return 0;
}

void binary(int decimal) {
int remainder;

if(decimal <= 1) {
   std::cout << decimal;
   return;
}
remainder = decimal % 2;
binary(decimal >> 1);    
std::cout << remainder;
}
4

2 に答える 2

1

binary使用する前に宣言する必要があります。それらを呼び出す関数の上に関数定義を置くようにコードを書くか(再帰の場合は常に可能であるとは限りません)、または前方関数宣言を提供します...例:put

void binary(int decimal);

あなたの主な機能の上。

大規模なC++プロジェクトでは、すべてのソースファイルに、ソースファイルで定義されているすべてのクラスと関数を宣言するヘッダーファイルが付属しています。次に、これらのクラスと関数を使用するソースファイルにヘッダーファイルを#includeします。

于 2013-03-27T04:07:44.753 に答える
1

バイナリ関数の実装をメインの上に移動するか、プロトタイプを定義します

于 2013-03-27T04:08:56.120 に答える