[编辑]错误在其他地方,因为@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;
有没有人经历过类似的事情?我已经读过这是实现这种工厂的正确方法。我也愿意接受设计更改,只要我能以相同的方式抽象地在基类上使用这些方法。
答案 0 :(得分:0)
您还应该使用nullptr初始化ret。