0
"내부"로컬 변수가 "외부"로컬 변수를 숨기면 Boost Phoenix에서 중첩 된 let 블록에 문제가 있습니다. 심지어 문서 here에서 "가시성"예와, 여기에 표시 :Boost Phoenix에서 중첩 된 let 블록 내의 변수 숨기기
이GCC: "error: function returning an array"
Clang: "error: function cannot return array type 'result_type' (aka 'char [6]')"
사람이 범위 내에서 어떻게 내가 할 수있는 "그림자"등의 변수를 알고 있나요 :
#include <iostream>
#include <boost/phoenix.hpp>
namespace phoenix = boost::phoenix;
using namespace phoenix::local_names;
int main(int argc, char *argv[])
{
phoenix::let(_x = 1, _y = ", World")
[
phoenix::let(_x = "Hello") // hides the outer _x
[
std::cout << _x << _y // prints "Hello, World"
]
]();
return 0;
}
I로 시작하는 오류가 발생 피닉스에있는 내부의 블록을 보자고? 현재 GCC 버전 4.8 스냅 샷으로 Ubuntu 13.04를 사용하고 있습니다. Clang 3.2; 부스트 1.49; 부스트 1.53.
확실한 것. 의견을 보내 주셔서 감사합니다. – user2023370
버그가 지금 제출되었습니다 [여기] (https://svn.boost.org/trac/boost/ticket/8564) – user2023370