为什么以下程序会给我一个声明错误? 我不是在那条特定的线上宣布它吗?
#include <iostream>
#define MILLION 1000000
using namespace std;
class BitInt
{
public:
BigInt();
private:
int digit_array[MILLION];
int length;
};
BigInt::BigInt()
{
int length=0;
for(int i=0; i<MILLION; i++)
digit_array[i]=0;
}
int main()
{
BigInt();
return 0;
}
bigint.cpp:11: error: ISO C++ forbids declaration of ‘BigInt’ with no type
bigint.cpp:18: error: ‘BigInt’ has not been declared
bigint.cpp:18: error: ISO C++ forbids declaration of ‘BigInt’ with no type
bigint.cpp: In function ‘int BigInt()’:
bigint.cpp:22: error: ‘digit_array’ was not declared in this scope
答案 0 :(得分:3)
你拼错了“BitInt”的“BigInt”:
class BitInt
答案 1 :(得分:0)
当我认为它应该是“BigInt”时,该类被命名为“BitInt”。只是一个错字。
答案 2 :(得分:0)
这是你的问题:
int main()
{
BigInt(); // <--- makes no sense
return 0;
}
应该是:
int main()
{
BigInt bigint; // create object of a class
return 0;
}
你宣布课程 BitInt ,并且在main
使用 BigInt - 有一个错字,一个是Bi t 另一个Bi <强>克强>
答案 3 :(得分:0)
在一个不相关的说明中,将MILLION定义为1000000是没有意义的。使用命名常量的原因是为了使数字的目的清晰,并允许您轻松更改它,而不仅仅是让您用单词而不是数字键入数字。
最好调用常量BIGINT_DIGITS或其他东西。