Ошибки шаблонного класса при использовании наследованияC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибки шаблонного класса при использовании наследования

Сообщение Anonymous »

В настоящее время я работаю над трассировщиком лучей и пытаюсь вывести результат несколькими способами одновременно (только через формат PPM и с использованием банкомата SFML).
Для этого я написал IOutput< /code> интерфейс, который наследуется классами, соответствующими каждому способу рендеринга изображения.
Вот проблемный фрагмент кода:

Код: Выделить всё

#ifndef PPM_FILE_HPP_
#define PPM_FILE_HPP_

// #include "../Core/math.hpp"

#include 
#include 

#include 
#include 
#include 

namespace Math {

class Vector3D {
public:
double x, y, z;

Vector3D() : x(0), y(0), z(0) {}

Vector3D(double _x, double _y, double _z) : x(_x), y(_y), z(_z) {}
};
}

template 
class IOutput {
public:
IOutput() : is_rendered(false) {}
virtual void refresh() = 0;
virtual void set_pixel(std::tuple location, Math::Vector3D color) = 0;
virtual void set_as_rendered() = 0;

protected:
std::array grid;
bool is_rendered = false;
};

template 
class PPM_file : public IOutput {
public:
PPM_file(std::string filename) : IOutput(), file(filename), color_depth(255)
{
if (!file.is_open())
throw std::runtime_error("Unable to open file: " + filename);
file 

Подробнее здесь: [url]https://stackoverflow.com/questions/78374956/templated-class-segfaults-when-using-inheritance[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»