You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
typedef sequence<octet> Pixels[2];
module message {
@topic
struct Image {
unsigned short width;
unsigned short height;
unsigned short bytesPerPixel;
Pixels data;
};
};
Compile error:
testTypeSupportImpl.cpp: In function ‘bool OpenDDS::DCPS::gen_skip_over(OpenDDS::DCPS::Serializer&, Pixels_forany*)’:
testTypeSupportImpl.cpp:83:41: error: ‘sequence’ does not name a type; did you mean ‘servent’?
if (!gen_skip_over(ser, static_cast<sequence*>(0))) return false;
ridl correct error output
IDL::ParseError: Anonymous type definitions are not allowed!
t4.idl: line 1, column 34
The text was updated successfully, but these errors were encountered:
IDL4 support is incomplete. It's a work in progress.
The Developer's Guide for 3.15 will describe what's supported and what's not. The short answer is that using an anonymous sequence/array that's directly contained in a struct will work. Other cases probably won't.
The reason for this is that there are use cases where a code generator writes the IDL, not a user. That particular kind of IDL needs to be accepted. When it's the user directly writing it then that user can use typedef as in IDL3.
See https://stackoverflow.com/questions/64233975/opendds-idl-sequence-type, the following construct leads to non compilable code. It does use an anonymous type which tao_idl front end doesn't warn for, ridlc does reject it
Compile error:
ridl correct error output
The text was updated successfully, but these errors were encountered: