相关疑难解决方法(0)

通用lambda如何在C++ 14中工作?

auto在C++ 14标准中,通用lambda如何工作(关键字作为参数类型)?

它是基于C++模板的,每个不同的参数类型编译器生成一个具有相同主体但替换类型(编译时多态)的新函数,还是更类似于Java的泛型(类型擦除)?

代码示例:

auto glambda = [](auto a) { return a; };
Run Code Online (Sandbox Code Playgroud)

c++ lambda auto c++14

108
推荐指数
3
解决办法
4万
查看次数

有没有办法在PC中将auto作为参数传递?

有没有办法将auto作为参数传递给另一个函数?

int function(auto data)
{
    //DOES something
}
Run Code Online (Sandbox Code Playgroud)

c++ arguments function auto

35
推荐指数
3
解决办法
2万
查看次数

自动作为GCC 4.9扩展的常规功能中的参数吗?

gcc 4.9允许使用以下代码,但gcc 4.8和clang 3.5.0拒绝它.

void foo(auto c)
{
    std::cout << c.c_str();
}
Run Code Online (Sandbox Code Playgroud)

我进入warning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic]4.9但是在4.8和clang我得到error: parameter declared 'auto'.

c++ gcc auto gcc4.9 c++14

23
推荐指数
2
解决办法
4561
查看次数

你能做一个C++泛型函数吗?

是否可以创建通用的C++函数foo

foo(Object bar, Object fred)
{
    //code
}
Run Code Online (Sandbox Code Playgroud)

如果识别出两个对象,则比较它们并返回比较值,否则返回一些其他值以表示无法进行比较?

我要求在对排序类进行泛化的情况下,在这种情况下,您可以使用此方法,并且在派生要排序的新对象时,可以添加到此foo函数,该方法用于对新类型的Object进行排序.

c++ sorting oop generics object

11
推荐指数
3
解决办法
3万
查看次数

在C ++ VS2017中不允许自动

bool isEven(int val) {
    return val % 2 == 0;
}

bool isOdd(int val) {
    return val % 2 != 0;
}

template<class Iterator>
int count_function(Iterator start, Iterator end, auto criteria) {
    int count = 0;
    for (; start != end; ++start) {
        if (criteria(*start)) {
            count++;
        }
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

上面是我的代码,自动在条件给出错误之前“现在允许此处自动”。我想为此功能提供isEven / isOdd标准。

这是为什么?

我已经尝试过int,bool-这会返回更多问题。

c++

1
推荐指数
2
解决办法
85
查看次数

标签 统计

c++ ×5

auto ×3

c++14 ×2

arguments ×1

function ×1

gcc ×1

gcc4.9 ×1

generics ×1

lambda ×1

object ×1

oop ×1

sorting ×1