generic-lambda

    7热度

    0回答

    考虑下面的代码: int main() { auto l = [](auto){}; void(*p)(int) = l; } 它的工作原理只是都与GCC和clang罚款。 让我们考虑以下稍作修改的版本: int main() { auto l = [](auto...){}; void(*p)(int) = l; } 在这种情况下,依然铿锵而a

    0热度

    1回答

    我有一个类的属性返回一个函数。 public class Demo { public Func<string,int,bool> Something { get; set; } } 如果我不喜欢这个 Demo demo = new Demo(); string target; demo.Something = (a,b)=> { //in here `a` c

    5热度

    1回答

    我写了一些代码给出一个通用的lambda函数时检索类型的非汽车类的参数。正如你在下面的代码中看到的,这个想法是用一个通用的lambda调用connect函数,并为自动参数提供参数(它总是在我的用例的前面)。所以在下面的代码中,我的目标是检测第二个参数是float类型。 的代码工作正常铿锵3.8,但它并没有用gcc 6.1.1编译,所以我想知道这是否是海湾合作委员会中的错误,或者这仅仅是无效的C++

    0热度

    1回答

    是否有可能创建可变参数信号和连接通用lambda作为插槽?我的意思是这样(比如,在需要的参与功能,所有的定义可见(例如,在实例化点)): #include <QCoreApplication> #include <QObject> #include <QTime> class A : public QObject { Q_OBJECT public :

    4热度

    2回答

    可以说我有一个字符串矢量,我想找到的所有字符串,与'a'开始,这样我就可以做到这一点: struct cmp { bool operator()(const std::string &s, char c) const { return s.front() < c; } bool operator()(char c, const std::string &s) const { r

    24热度

    3回答

    我在C++中编写了匿名析因函数,并用g ++ 4.9.2编译了我的代码。 它运作良好。但是,我不知道我的功能的类型。 #include<iostream> #include<functional> using std::function; int main() { //tested at g++ 4.9.2 //g++ -std=c++1y -o anony anony

    7热度

    1回答

    是以下通用(多态)lambda合法C++ 14吗? auto f = [](auto x[3]) { x[0]; x[1]; // etc. }; GCC和Clang 4接受代码,但Visual Studio 2017没有。它合法吗? error C3318: 'auto [3]': an array cannot have an element type th