作者zerodevil (冰心无情)
看板C_and_CPP
标题[问题] boost::lambda的问题
时间Mon Jun 8 06:52:11 2009
最近在试用lambda 碰到一点小问题..
请问一下最後一行的用法哪里有错 @@
(_1 + 1)(1); // OK
(_1 + 1.0)(1); // OK
(_1 + 1LL)(1); // 一长串error, 最後几句是
// error: conversion from 'long long int' to non-scalar type
// 'boost::lambda::detail::return_type_deduction_failure<略>'
// requested
boost版本是1.39.0
compiler是gcc4.4, 参数 -O -std=c++0x -pedantic -Wall
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.32
1F:→ yauhh:整数加超长整数,它不知道要回应给你哪个型态,所以你要告诉它 06/08 08:56
2F:→ yauhh:ret<long long int> (_1 + 1LL) (1); 06/08 08:56
3F:→ zerodevil:感谢!! 可以用了 06/08 14:06
4F:→ zerodevil:但是为什麽 (_1 + 1LL)(1LL); 这样也不行? 06/08 14:07
5F:→ yauhh:它的错误讯息,会不会主要是指,对long long int的转型还没有 06/08 14:51
6F:→ yauhh:相关函数做自动转换? 跳进去想底层的道理真的好累 06/08 14:52