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才能使用它。编写代码以将函数定义放在调用它们的函数之上(在递归的情况下并不总是可能),或者提供前向函数声明......例如,把

void binary(int decimal);

在您的主要功能之上。

在大型 C++ 项目中,每个源文件都有一个随附的头文件,用于声明源文件定义的所有类和函数。然后你只需将头文件#include 到任何使用这些类和函数的源文件中。

于 2013-03-27T04:07:44.753 回答
1

您要么将二进制函数实现移到 main 之上,要么定义一个原型

于 2013-03-27T04:08:56.120 回答