My .h file generated by OSS ASN.1 compiler for C++ contains definitions like these (double underscore): class __seq1 {...} class A {... typedef __seq1 b; ...}. Should I use __seq1 in my C++ program to create an instance of class A?

No, you shouldn't use names starting with a double underscore (i.e. __seq1, __seq2, __choice1, __shared1, etc.) explicitly. They are for internal use.

These generated names can be different in different versions of the ASN.1 compiler for C++. Use the scope resolution operator (::) to reference the anonymous SEQUENCE and CHOICE types.

Thus, for the definition above use A::b instead of __seq1.

The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.

Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email:
Free Trial

Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.

Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.