-
Type:
Task
-
Resolution: Done
-
Priority:
Trivial - P5
-
None
-
Affects Version/s: 3.0.1
-
Component/s: Implementation
-
None
-
Environment:Windows 10
MS VS 2015
MongoDB 3.3.5
MongoDB C++11 Driver 3.0.1
-
None
-
None
-
None
-
None
-
None
-
None
-
None
#include <bsoncxx/builder/stream/document.hpp> #include <iostream> bsoncxx::document::element return_element() { auto build_doc = bsoncxx::builder::stream::document{}; build_doc << "key_field" << "hello world"; bsoncxx::document::element element_to_return = build_doc.view()["key_field"]; // outputs: key_field hello world std::cout << element_to_return.key().to_string() << " " << element_to_return.get_utf8().value; return element_to_return; } int main() { bsoncxx::document::element returned_element = return_element(); // the next line causes a debug error at element.cpp // types::b_utf8 element::get_utf8() const { // BSONCXX_TYPE_CHECK(k_utf8); std::cout << returned_element.get_utf8().value; return 0; }
The returned_element is "junk". Is there a way to preserve an element from a function?