我不知道這裏有什麼問題。C++從stringstream中檢索const char *
std::stringstream ss("Title");
ss << " (" << 100 << ")";
const char* window_title = &ss.str().c_str();
我跑make
,它並不高興。
[17%] Building CXX object CMakeFiles/game.dir/src/main.cpp.o
path: error: cannot take the address of an rvalue of type 'const value_type *'
(aka 'const char *')
const char* window_title = &ss.str().c_str();
^~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/game.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/game.dir/all] Error 2
make: *** [all] Error 2
據我瞭解,我創建字「標題」一個stringstream
,然後追加「(100)」來了。在此之後,我檢索一個字符串,然後是一個「C字符串」,它是一個char
並將指針存儲在window_title
中。
怎麼了?
不要垃圾郵件標籤! C不是C++不是C! – Olaf
你不需要把地址'ss.str().c_str();''已經返回'const char *'。 –
呃,爲什麼我得到10k的降價?我解釋了這個問題,不是嗎? – Lolums