2017-03-06 26 views
-1

如何从C++函数中返回一个bitset?如何返回C++中的bitset值?

bitset<32>* check() { 
    bitset<32> v8; 
    for (int i = 0; i <= 5; i++) { 
    v8[i] = 1; 
    } 
    return v8; 
} 

我得到这个错误:

[Error] cannot convert 'std::bitset<32u>' to std::bitset<32u>*' in return 
+2

那么,你想返回一个bitset或一个指向bitset的指针吗? – Biffen

回答

2

您试图返回一个值作为指针,在这种情况下,你真的应该只是价值回归。在这里使用指针是无稽之谈。

bitset<32> check() { 
    bitset<32> v8; 
    for (int i = 0; i <= 5; i++) { 
    v8[i] = 1; 
    } 

    return v8; 
} 
1

你不能从被声明为返回一个指向一个bitset函数返回一个位集。

您可以从被声明为返回一个bitset函数返回一个位集:

bitset<32> check() 
//  ^note the lack of * which would be syntax for a pointer declaration 
+0

它不起作用 – narecia

+1

@narecia它的确如此。也许你犯了一个错误。 – user2079303

+2

@narecia http://importblogkit.com/2015/07/does-not-work/ – Biffen