工厂方法中的访问冲突

时间:2017-08-25 12:30:40

标签: c++ visual-studio oop pointers factory

[编辑]错误在其他地方,因为@litelite帮我找到了,不需要更多答案

我的工厂类中有一个名为import json with open('1.json') as data_file: data = json.load(data_file) print([row['close'] for row in data]) 的工厂方法,它返回一个指向基类对象的指针(但实际上指向其中一个子类的对象,具体取决于条件)。

执行程序时,出现xC0000005:访问冲突错误。 Visual Studio调试器停止的行如下:

MakeDevice

代码: 基类是BaseDevice,两个子类是DeviceA和DeviceB。 DeviceModel是一种枚举类型,可以让它更容易。

ret = new DeviceA;

有没有人经历过类似的事情?我已经读过这是实现这种工厂的正确方法。我也愿意接受设计更改,只要我能以相同的方式抽象地在基类上使用这些方法。

1 个答案:

答案 0 :(得分:0)

您还应该使用nullptr初始化ret。