gpt4 book ai didi

c++ - 如何使用默认构造函数参数对模板进行类型定义

转载 作者:行者123 更新时间:2023-11-28 02:49:32 25 4
gpt4 key购买 nike

我正在尝试对模板类进行类型定义以接受默认构造函数参数,但我遇到了错误。

这很好用:

typedef TransientWriter<DDS::NetAcquire::MeasurandMetaData,
::NetAcquire::MeasurandMetaDataTypeSupport_var,
::NetAcquire::MeasurandMetaDataTypeSupportImpl,
::NetAcquire::MeasurandMetaDataDataWriter,
::NetAcquire::MeasurandMetaDataDataWriter_var,
::NetAcquire::MeasurandMetaDataDataReader,
::NetAcquire::MeasurandMetaDataDataReader_var> Writer;

但是,我希望这个类通过构造函数接受一个默认的字符串参数。我试过:

typedef TransientWriter<DDS::NetAcquire::MeasurandMetaData,
::NetAcquire::MeasurandMetaDataTypeSupport_var,
::NetAcquire::MeasurandMetaDataTypeSupportImpl,
::NetAcquire::MeasurandMetaDataDataWriter,
::NetAcquire::MeasurandMetaDataDataWriter_var,
::NetAcquire::MeasurandMetaDataDataReader,
::NetAcquire::MeasurandMetaDataDataReader_var>
(::NetAcquire::MeasurandMetaDataTopic) Writer;

这给了我一个古怪的错误:error: expected initializer before ‘Writer’

我也试过这个:

typedef TransientWriter<DDS::NetAcquire::MeasurandMetaData,
::NetAcquire::MeasurandMetaDataTypeSupport_var,
::NetAcquire::MeasurandMetaDataTypeSupportImpl,
::NetAcquire::MeasurandMetaDataDataWriter,
::NetAcquire::MeasurandMetaDataDataWriter_var,
::NetAcquire::MeasurandMetaDataDataReader,
::NetAcquire::MeasurandMetaDataDataReader_var>
Writer(::NetAcquire::MeasurandMetaDataTopic);

这给我 error: typedef ‘JARSS::DDS::Object::NetAcquire::MeasurandMetaData::Writer’ is initialized (use decltype instead)

我对这个 typedef 的看法是不是全错了?对于我可以做什么有什么建议吗?

谢谢。

最佳答案

这在 C++ 中是不可能的。

考虑创建一个新类,为 TransientWriter<DDS::NetAcquire::MeasurandMetaData, ::NetAcquire::MeasurandMetaDataTypeSupport_var, ::NetAcquire::MeasurandMetaDataTypeSupportImpl, ::NetAcquire::MeasurandMetaDataDataWriter, ::NetAcquire::MeasurandMetaDataDataWriter_var, ::NetAcquire::MeasurandMetaDataDataReader, ::NetAcquire::MeasurandMetaDataDataReader_var> 的构造函数添加重载或创建工厂函数。

关于c++ - 如何使用默认构造函数参数对模板进行类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23370928/

25 4 0
文章推荐: c++ - 从 glLookAt() 到 glRotatef() 和 gltranslatef
文章推荐: javascript - 当所有