相关疑难解决方法(0)

默认继承访问说明符

如果我有例如两个类AB,这样的类B继承A,如下所示:

class B: public A

在这种情况下,我正在做public继承.

如果我按如下方式编写前面的代码:

class B: A

我将在这里做什么类型的继承(即公共)?换句话说,什么是默认访问说明符?

这里只是一个问题.我是否拨打上一行代码statements?特别是我记得我在C++中读到了没有恐惧:一本初学者的指南,让你觉得这本书就是statements最好的;.你觉得怎么样?

谢谢.

c++ inheritance

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

无法从lambda函数中推导出模板参数std :: function

在使用C++浏览模板时,我偶然发现了以下代码中的示例:

#include <iostream>
#include <functional>

template <typename T>
void call(std::function<void(T)> f, T v)
{
    f(v);
}

int main(int argc, char const *argv[])
{
    auto foo = [](int i) {
        std::cout << i << std::endl;
    };
    call(foo, 1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

要编译这个程序,我使用的是GNU C++编译器 g ++:

$ g++ --version // g++ (Ubuntu 6.5.0-1ubuntu1~16.04) 6.5.0 20181026
Run Code Online (Sandbox Code Playgroud)

编译C++ 11后,我收到以下错误:

$ g++ -std=c++11 template_example_1.cpp -Wall

template_example_1.cpp: In function ‘int main(int, const char**)’:
template_example_1.cpp:15:16: error: no matching function for call to ‘call(main(int, const …
Run Code Online (Sandbox Code Playgroud)

c++ lambda templates c++11 c++17

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

标签 统计

c++ ×2

c++11 ×1

c++17 ×1

inheritance ×1

lambda ×1

templates ×1