현재 구성 파일뿐 아니라 명령 행 옵션을 구문 분석하기 위해 boost :: program_options를 사용하기 시작했습니다.boost :: program_options를 자신의 템플릿 클래스와 함께 사용할 수 있습니까?
옵션 인수로 자체 템플릿 클래스를 사용할 수 있습니까? 즉, 내가 시맨틱 문제 ('값'에 대한 호출에 대한 일치하는 기능)을 받기를 컴파일하려고
#include <iostream>
#include "boost/program_options.hpp"
namespace po = boost::program_options;
template <typename T>
class MyClass
{
private:
T* m_data;
size_t m_size;
public:
MyClass(size_t size) : m_size(size) { m_data = new T[size]; }
~MyClass() { delete[] m_data; }
T get(size_t i) { return m_data[i]; }
void set(size_t i, T value) { m_data[i] = value; }
};
int main (int argc, const char * argv[])
{
po::options_description generic("General options");
generic.add_options() ("myclass", po::value< MyClass<int>(2) >(),
"Read MyClass");
return 0;
}
같은 것을 의미한다. 일반화 된 유형으로 일부 캐스팅을 제공해야하지만 실제 아이디어는 없습니다.
아무도 도와 줄 수 있습니까? 감사
Aeon512
힌트를 보내 주셔서 감사합니다. 그것은 완벽하게 작동합니다. – Aeon512
굉장합니다. 내가 사용한 두 가지 아이디어 중 어느 것을 사용 했습니까? –