Frage

Warum das folgende Programm geben Sie mir eine Erklärung Fehler entdeckt? Ist ich nicht es zu dieser bestimmten Zeile zu erklären?

#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
War es hilfreich?

Lösung

Sie falsch geschrieben "BigInt" für "BitInt":

class BitInt

Andere Tipps

ist die Klasse „BitInt“ genannt, wenn ich es vermuten sollte „BigInt“ sein. Nur ein Tippfehler.

Das ist Ihr Problem:

int main()
{
    BigInt();     // <--- makes no sense

    return 0;
}

Es sollte sein:

int main()
{
    BigInt bigint; // create object of a class

    return 0;
}

Und erklären Sie, Klasse BitInt und in main mit BigInt - es Tippfehlern eines ist, ist Bi t die anderen Bi g

Auf einer nicht verwandte Notiz, die Definition MILLION als 1000000 ist sinnlos. Der Grund benannte Konstanten zu verwenden ist, den Zweck der Zahl deutlich zu machen, und lassen Sie es leicht ändern, nicht nur, damit Sie eine Zahl eingeben aus in Worten anstelle von Ziffern.

Es wäre besser, die Konstante BIGINT_DIGITS oder etwas zu nennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top