【发布时间】:2011-11-14 16:12:18
【问题描述】:
调用get 似乎不会调用依赖于参数的查找:
auto t = std::make_tuple(false, false, true);
bool a = get<0>(t); // error
bool b = std::get<0>(t); // okay
g++ 4.6.0 说:
error: 'get' was not declared in this scope
Visual Studio 2010 说:
error C2065: 'get': undeclared identifier
为什么?
【问题讨论】:
-
您可能想阅读groups.google.com/group/comp.lang.c++.moderated/msg/… 和相关的讨论。这家伙后来又发了一篇关于他的见解的帖子:groups.google.com/group/comp.std.c++/browse_thread/thread/…?
-
@Troubadour 可能与 OP 编辑的问题重复;)
-
@Dan:真是巧合:)不过,这只是从adl 到argument-dependent-lookup 的盲目重新标记操作。
标签: c++ templates tuples c++11 argument-dependent-lookup