검색결과 리스트
Function에 해당되는 글 2건
- 2012.10.30 bind, function 사용법 - tr1도 같이...
- 2009.04.28 MySQL 5.X에서 function 정의시 오류 발생... |
bind, function 간단 사용 방법
boost, tr1 다 설명...
// bind 할 함수 int sum( int a , int b ) { return a+b; } // boost bind 사용 // _1, _2 는 입력 인자 #include <boost/bind.hpp> boost::bind( &sum, _1, _2 ); // tr1 bind 사용 // boost와는 다르게 인자를 쓸려면 std::tr1::placeholders 사용 해야함. #include <functional> std::tr1::bind( &sum, std::tr1::placeholders::_1, std::tr1::placeholders::_2 ); /////////////////////////////////////////////////////////////////////////////////////////////// // bind 한 함수를 담는 boost::function #include <boost/function.hpp> boost::function< int(int, int) > temp = boost::bind( &sum, _1, _2 ); // bind 한 함수를 담는 std::tr1::function #include <functional> std::tr1::function< int(int, int) > temp = std::tr1::bind( &sum, std::tr1::placeholders::_1, std::tr1::placeholders::_2 ); /////////////////////////////////////////////////////////////////////////////////////////////// // bind class 처리 - tr1 도 똑같아용.... class boostBind { private: std::vector< boost::function< int( int, int ) > > m_funcArray; // 바인딩 한 함수를 모으기 위한 vector public: boostBind() { m_funcArray.push_back( boost::bind( &boostBind::sum, this, _1, _2 ) ); m_funcArray.push_back( boost::bind( &boostBind::sub, this, _1, _2 ) ); } ~boostBind() {} int sum( int a , int b ) { return a+b; } int sub( int a , int b ) { return a-b; } void run() { // 덧셈 함수 호출 int temp1 = m_funcArray[0]( 100, 200 ); // 뺄셈 함수 호출 int temp2 = m_funcArray[1]( 200, 100 ); } };
< 문제 현상 >
mysql> delimiter |
mysql> CREATE FUNCTION bonjour (s CHAR(20)) RETURNS CHAR(50)
-> RETURN CONCAT('Bonjour, ',s,'!');
-> |
ERROR
1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS
SQL DATA in its declaration and binary logging is enabled (you *might*
want to use the less safe log_bin_trust_function_creators variable)
< 문제 해결 >
show global variables like 'log_bin_trust_function_creators';
-> 옵션이 ON인지 OFF인지 알수 있다.
SET GLOBAL log_bin_trust_function_creators = 1; 하면 ON
SET GLOBAL log_bin_trust_function_creators = 0; 하면 OFF
RECENT COMMENT