Объединение указателя на реализацию (PIMPL) идиома и вариационные шаблоны аргументы [Duplicate]C++

Программы на C++. Форум разработчиков
Anonymous
Объединение указателя на реализацию (PIMPL) идиома и вариационные шаблоны аргументы [Duplicate]

Сообщение Anonymous »

Я пытаюсь объединить идиому «Указатель в реализацию» (PIMPL) с аргументами вариального шаблона. Тем не менее, я сталкиваюсь с ошибкой линкера, которая, как я подозреваю, может быть связана с отсутствующим экземпляром.

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

#pragma once

class Foo
{
public:
Foo();

template 
int Method(Args&&... args);

private:
class Impl;
Impl* m_Impl;
};
< /code>
функциональный#include 

#include "foo.h"
#include "impl.h"

Foo::Foo() :
m_Impl(new Foo::Impl())
{
}

template 
int Foo::Method(Args&&... args)
{
return m_Impl->Method(std::forward(args)...);
}
< /code>
функциональный#pragma once

#include "foo.h"

class Foo::Impl
{
public:
int Method(int argc, char* argv[]);
};
< /code>
функциональный#include 

#include "impl.h"

int Foo::Impl::Method(int argc, char* argv[])
{
for (int i = 0; i < argc; ++i)
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79723747/combining-pointer-to-implementation-pimpl-idiom-and-variadic-template-argument[/url]

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