0

以下に示すバイナリヒープのプログラムを作成しました-

       #include<iostream>
     using namespace std;
        /**
         * Construct the binary heap.
         * capacity is the capacity of the binary heap.
         */

class BinaryHeap
        {

           private:
            int   currentSize;  // Number of elements in heap
            int array[];        // The heap array

            void buildHeap( );
            void percolateDown( int hole );
           public:
            bool isEmpty( ) const;
            bool isFull( ) const;
            int findmini( ) const;

            void insert( int x );
            void deleteMin( );
            void deleteMin( int minItem );
            void makeEmpty( );



       public :
       BinaryHeap(  )
        {
         currentSize = 0;
        }
      BinaryHeap( int capacity )
        {
          array[capacity + 1];
         currentSize = 0;
        }
};
int main()
{
     int resp, ch, choice;
     int n, i;
     cout << "enter the size of heap" << endl;
     cin >> n;
    BinaryHeap b(int n);
   cout << "enter the item " << endl;
      cin >> ch;
    b.insert( int ch);


return 0;
}

コンパイル中にエラーが発生します

'b' のメンバー 'insert' の要求。これは非クラス型 'BinaryHeap(int)'
であり、'int' の前にプライマリ式が必要です

なぜこれが起こっているのですか、どうすれば解決できますか?

4

2 に答える 2

5

intとから削除するBinaryHeap b(int n);b.insert( int ch);、準備完了です。

関数を呼び出すときは、関数を呼び出す変数のデータ型を指定しないでください。

于 2013-06-25T16:34:03.483 に答える