2017-04-03 7 views
-2

まず、私はこのウェブサイトに初めて投稿するフォーマットのことをお詫び申し上げます。以下は、私のプログラムの始まりです。これは、異なる並べ替えと検索とリストの作成方法を持つ単なるメニューです。私のアイテムリストに.emptyを使用しようとすると、私のエラーはメニューメソッドにあります。非クラス型メンバーのエラーリクエストを取得します。私はプログラミングの2年目にすぎないので、私は馬鹿だと言うように説明しよう。私が見ることができるものから、.emptyまたは.sizeを使用している非クラスタイプのメンバーのリクエスト

const int MLS = 50; 

typedef int element; 

const element SENTINEL = -1; 

element read_element(); 

int read_int(); 

class AList{ 

     private: 
       element items[MLS]; 
       int size; 
       void Swap(int pos1, int pos2); 
       bool sorted; 
     public: 
       void Read(); 
       void GenerateRandomList(); 
       void Print(); 
       void BubbleSort(); 
       void InsertionSort(); 
       void SelectionSort(); 
       void LinearSearch(element target); 
       void BinarySearch(element target); 
       void Menu(); 
}; 

int main(){ 

    AList A; 

     A.Menu(); 
} 


void AList::Menu(){ 

     int choice; 
     element target; 


     cout << "Current list: "; 
     if (items.empty == true) 
       cout << "(empty)"; 
     else 
       Print(); 
     if (sorted == true) 
       cout << "(KNOWN to be ordered)" << endl << endl; 
     else 
       cout << "(NOT KNOWN to be ordered)" << endl << endl; 

     cout << "Actions:" << endl; 
     cout << "  1. Reset the current list from the keyboard" << endl; 
     cout << "  2. Reset the current list using randomly generated "; 
+1

コードを正しくフォーマットしてください。あなたはヘルプ[ここ](https://stackoverflow.com/help/formatting)を見つけることができます。 –

+0

ここに新しい人がいなくても、どのような質問が表示されるべきかを見るために使用できる既存の質問は1360万件あります。 –

答えて

1
typedef int element; 
... 
class AList { 
    element items[MLS]; 
    ... 
}; 
... 
void AList::Menu() { 
    ... 
    if (items.empty == true) 
     ... 
    ... 
} 

itemsint秒の単なる配列です。ただし、C++では、配列には名前付きメンバ(javaのarr.lengthなど)も関連付けられていません。コードにこの機能を追加する場合は、std::vectorを使用することをお勧めします。

1

itemselementの単なる配列です。 C++では、配列にはメソッドやプロパティはありません。ロジックなしでデータを整列させるだけです。代わりにvectorを使用することを検討してください。

編集:あなたが勝った、tは50の初期サイズを設定する必要がitems.size()items.empty()を使用したりすることができるようになります

element items[MLS] 

vector<element> items 

に変更、ベクトルは、いつでも自分自身のサイズを変更しますその必要性。あなたが見ることができるように

+0

私はそれをどうやって正確にやりますか? –

+0

@ S.Speaksが私の答えを更新しました。 – AlexG

関連する問題