- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Copied from the GCC bug I reported, because it applies to Intel C++ as well. At least, the version "18" on https://gcc.godbolt.org/.
Intel C++ expects the "override" keyword in an incorrect position in the C++ grammar:
#define MEOW 256 struct Base { virtual const char (&GetBuffer() const)[MEOW] = 0; }; struct Derived : public Base { // Intel C++ requires this incorrect syntax... virtual const char (&GetBuffer() const override)[MEOW]; // ...but the below is the correct syntax, which Intel C++ rejects. virtual const char (&GetBuffer() const)[MEOW] override; };
In the C++ Standard, "override" is a virt-specifier in a virt-specifier-seq. virt-specifier-seq optionally goes after the declarator. After the optional virt-specifier-seq goes the optional pure-specifier.
- Tags:
- CC++
- Development Tools
- Intel® C++ Compiler
- Intel® Parallel Studio XE
- Intel® System Studio
- Optimization
- Parallel Computing
- Vectorization
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank for reporting this issue. I'll submit a bug to our developer.
Regards,
Viet

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page