小编foc*_*ard的帖子

错误:不能dynamic_cast ...(目标不是指针或引用)

我正在学习C++中的异常处理并遇到问题.这是代码:

#include<iostream>
#include<exception>

using namespace std;

class A
{
public:
    virtual void f(void){}
};

class AA:public A
{
public:
    void aa(void){};

};

int main(void)
{

    A a;
    try
    {
        dynamic_cast<AA>(a).aa();
    }
    catch(exception ex)
    {
        cout<<"["<<ex.what()<<"]"<<endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以我认为try catch将允许函数执行并向我显示异常的内容,但我的编译器不会编译它.我正在使用GNU GCC的代码块.请帮助我,告诉我我需要做什么才能按照我的意图运行代码.非常感谢.

c++ dynamic-cast exception try-catch

10
推荐指数
4
解决办法
2万
查看次数

C++枚举语法

我宣布之后

enum color {red, blue, green};
Run Code Online (Sandbox Code Playgroud)

两者之间有什么区别吗?

color a=blue;
Run Code Online (Sandbox Code Playgroud)

enum color a=blue;
Run Code Online (Sandbox Code Playgroud)

c++ enums

4
推荐指数
2
解决办法
3211
查看次数

c ++复制构造类的构造函数

我正在学习c ++教程并且很难理解以下代码的一部分(请参阅注释部分):

#include<iostream>
using namespace std;

class A
{
public:
    A(A&src)
    {
        cout<<"copying A..."<<endl;
    }
    A(void){}
    void Do(void)
    {
        cout<<"A is doing something"<<endl;
    }
};

class B
{
public:
    B(B&src)
    {
        cout<<"copying B..."<<endl;
    }
    B(void){}
    void Do(void)
    {
        cout<<"B is doing something"<<endl;
    }
};

class Compo
{
public:
    Compo(Compo &src):f1(f1),f2(f2)//???

    {
        cout<<"Copying Compo..."<<endl;
    }
    Compo(void){}
    A f1;
    B f2;

};

int main(void)
{
    Compo co1;
    Compo co2=co1;
    co2.f1.Do();
    co2.f2.Do();
}
Run Code Online (Sandbox Code Playgroud)

那么编译器如何知道哪个f1/f2属于哪个Compo?有没有办法让它更明确?

谢谢您的帮助

c++ constructor composition

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

python减少初始化错误

我正在尝试以与racket的foldl类似的方式使用python的reduce,但是当我运行以下代码时:

functools.reduce(lambda x, y: x.append(y), [1,2,3], [])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<input>", line 1, in <lambda>
AttributeError: 'NoneType' object has no attribute 'append'
Run Code Online (Sandbox Code Playgroud)

您能帮忙解释一下错误并提出修复建议吗?

python reduce functional-programming

0
推荐指数
1
解决办法
460
查看次数