2016-04-23 10 views
1

contains要素関数をtrueまたはfalseのどちらかに戻すようにしたいが、何も返さない。どんな助けも大いに評価されます!ブール関数を返す

bool Set::containsElement(int x) const 
{ 
    int element = false; 

    for (int i = 0; i < _numItems; i++) { 
     if (_items[i] == x) 
      element = true; 
    } 
    return element; 
} 

// main.cpp 

#include <iostream> 
#include <cassert> 
#include "Set.h" 
using namespace std; 

int main() { 

    Set s1, s2, s3; 

    s1.addElement(7); 
    s1.addElement(3); 
    s1.addElement(5); 

    s1.containsElement(3); 

    return 0; 
} 
+0

素子"。 – jnestor

+0

何が返ってこないと思いますか? –

+0

デバッガのコンソール画面または出力の値として表示されませんでした。 – jnestor

答えて

2

あなたがメインで関数を呼び出すとき、あなたはありませんどこにそれを呼び出している、いわゆる

+0

私は実際に\t std :: cout <<とSet :: containsElement;関数を呼び出してみました。 – jnestor

+0

しかし、それはちょうど1を返し続けた:/ – jnestor

+0

'1'は真実を意味する! 'std :: cout << Set :: containsElement(3);' – Arun

1

あなたの機能が正常に値を返したときに値が単に失われます。 main()機能でそれを使用しないだけです。あなたはより多くのすべての要素が表示されます「ブール」ではない「int型

std::cout<< s1.containsElement(3)<<std::endl; 

として宣言されなければならない

if(s1.containselement(3))) 
{ 
    // Do whatever you want now that you know it's contained 
} 
0

まずAFのような何かをする必要があり、真または偽

インデントは「リターンであります