-
Key: DDSPSMC11_-58
-
Legacy Issue Number: 18644
-
Status: open
-
Source: Leonardo S.p.A ( Simon McQueen)
-
Summary:
In src/hpp/dds/sub/DataReader.hpp; src/hpp/dds/topic/ContentFilteredTopic.hpp; src/hpp/dds/topic/Topic.hpp; src/hpp/dds/topic/TopicDescription.hpp
... the template header file includes need to be moved as MSVC appears to ignore any attempt to 're-declare' a template class with a 'new' default argument and only considers defaults on the first time of asking.
Without the move the compiler emits an error in each case like something like e.g.:
dds/topic/detail/AnyTopicDescription.hpp(48): error C2976: 'dds::topic::TopicDescription' : too few template arguments
dds/topic/TTopicDescription.hpp(41) : see declaration of 'dds::topic::TopicDescription'Suggested resolutions:
diff --git a/src/hpp/dds/sub/DataReader.hpp b/src/hpp/dds/sub/DataReader.hpp index b38ddaa..b476779 100644 --- a/src/hpp/dds/sub/DataReader.hpp +++ b/src/hpp/dds/sub/DataReader.hpp @@ -1,10 +1,8 @@ #ifndef OMG_DDS_SUB_DATA_READER_HPP_ #define OMG_DDS_SUB_DATA_READER_HPP_ -#include <dds/sub/TDataReader.hpp> #include <dds/sub/detail/DataReader.hpp> - namespace dds { namespace sub { template <typename T, @@ -15,6 +13,7 @@ namespace dds { } } +#include <dds/sub/TDataReader.hpp> // = Manipulators namespace dds { diff --git a/src/hpp/dds/topic/ContentFilteredTopic.hpp b/src/hpp/dds/topic/ContentFilteredTopic.hpp index 057a2f6..cbc5cfc 100644 --- a/src/hpp/dds/topic/ContentFilteredTopic.hpp +++ b/src/hpp/dds/topic/ContentFilteredTopic.hpp @@ -20,11 +20,12 @@ */ #include <dds/topic/detail/ContentFilteredTopic.hpp> -#include <dds/topic/TContentFilteredTopic.hpp> namespace dds { namespace topic { template <typename T, template <typename Q> class DELEGATE = dds::topic::detail::ContentFilteredTopic> class ContentFilteredTopic; } } +#include <dds/topic/TContentFilteredTopic.hpp> + #endif /* OMG_DDS_TOPIC_CONTENT_FILTERED_TOPIC_HPP_ */ diff --git a/src/hpp/dds/topic/Topic.hpp b/src/hpp/dds/topic/Topic.hpp index cd69316..5545f76 100644 --- a/src/hpp/dds/topic/Topic.hpp +++ b/src/hpp/dds/topic/Topic.hpp @@ -2,11 +2,12 @@ #define OMG_DDS_TOPIC_TOPIC_HPP_ #include <dds/topic/detail/Topic.hpp> -#include <dds/topic/TTopic.hpp> namespace dds { namespace topic { template <typename T, template <typename Q> class DELEGATE = dds::topic::detail::Topic> class Topic; } } +#include <dds/topic/TTopic.hpp> + #endif /* OMG_DDS_TOPIC_TOPIC_HPP_ */ diff --git a/src/hpp/dds/topic/TopicDescription.hpp b/src/hpp/dds/topic/TopicDescription.hpp index 47e2dd1..6e908b0 100644 --- a/src/hpp/dds/topic/TopicDescription.hpp +++ b/src/hpp/dds/topic/TopicDescription.hpp @@ -20,7 +20,6 @@ */ #include <dds/topic/detail/TopicDescription.hpp> -#include <dds/topic/TTopicDescription.hpp> namespace dds { namespace topic { template <typename T, @@ -28,5 +27,6 @@ namespace dds { namespace topic { class TopicDescription; } } +#include <dds/topic/TTopicDescription.hpp> #endif /* OMG_DDS_TOPIC_TOPIC_DESCRIPTION_HPP_ */
-
Reported: DDS-PSM-Cxx 1.0b2 — Tue, 9 Apr 2013 04:00 GMT
-
Updated: Sun, 30 Sep 2018 23:30 GMT
DDSPSMC11_ — DataReader.hpp, ContentFilteredTopic.hpp, Topic.hpp, TopicDescription.hpp o not compile with MS Visual Studio
- Key: DDSPSMC11_-58
- OMG Task Force: DDS-PSM-Cxx v1.1 RTF