2016-04-23 88 views
1

我希望使包含Element函数返回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()函数中使用它。你需要做更多的东西一样

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

第一AF所有元素应该被宣布为“布尔”而不是“廉政”

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

将显示true或false