- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
Recently I am trying to compiler some code by Intel C++ Compiler XE 13.0, the code is somewhat like the follows:
for(uint i=0; i<skeleton.size(); i++) {
for(auto &entry : skeleton) {
action(i, entry.vid, entry);
}
}
when compiling by Intel C++ Compiler XE 13.0, the following error displayed:
Error 17 error : cannot deduce "auto" type (initializer required)
I got to know that this new feature is not supporttd by latest Intel C++ compiler. When could Intel C++ compiler support this feature?
Thanks,
Zhanghong Tang
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Greetings,
As Intel's support person said recently, C++11 is the main goal, though, (IIRC it was Jeniffer) said thay cannot comment details for future Intel's plans.
PS: I am waiting impatiently for new release, since in recent one /MP switch under Windows is broken, so I'd like to have knowledge of the timeline, but as she said, they cannot provide comments about this...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Dr. Sergey Kostrov,
Thank you very much for your instructioin, this option works for my issue.
Thanks,
Zhanghong Tang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes the "auto" keyword and c++11 range based for loops (which is what this code is using) should be supported in C++ 13.0 if you use the option to turn on c++11 (-std=c++11 on Linux and /Qstd=c++11 on Windows).
Judy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Dr. Sergey Kostrov and Judith Ward,
Thank you very much for your kindly reply. I tested and found that both two options /Qstd=c++0x and /Qstd=c++11 are OK for me. Could you please tell me what's the difference between these two options?
Thanks,
Zhanghong Tang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The effect of those options should be identical. c++0x was chosen by gcc for early development; after the standard was confirmed, c++11 was recommended as the spelling for the future.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Dr. Timp,
Thanks again for your kindly explaination.
I suggest that this option be turned on by default.
Thanks,
Zhanghong Tang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Turning it on by default would break compatibility with the Microsoft compiler. We only enable those c++11 features by default which are already implemented by the reference Microsoft compiler on the user's system.

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