Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Intel C++ 13 XE

chkone
Beginner
474 Views

Hi,
I test the Intel C++ 2013 XE, with an existing project (originaly with MS-2012-VC++ in x64/Intel C++ 2011 XE)
When I port it with Intel C++ 13 I have some trouble for example with ipp, compiler say me :
"Multi-Threaded Static Library not installed" but I install everything...
And in :
http://software.intel.com/sites/default/files/m/4/2/2/c/f/43550-C_2B_2B11webinar_20120418.pdf
It can read the Intel C++ 2013 support the "User-Defined Literals" but the simple code :
[cpp]constexpr float operator "" _Incr( float fValue )
{
return fValue + 1.f;
}[/cpp]

Don't build :
[blockquote]
1> Building with Intel(R) C++ Compiler XE 13.0
1>ClCompile:
1> ***** ClCompile (Win32 - Intel C++)
1> main.cpp
1>main.cpp(4): error : expected an operator
1> constexpr float operator "" _Incr( float fValue )
1> ^
1> 
1>main.cpp(4): error : expected a ";"
1> constexpr float operator "" _Incr( float fValue )
1> ^
1>[/blockquote]

I activate :
/Qstd=c++0x 
Do you know how can I fix the second trouble ? The first are fixed by changing the linking.

PS: English isn't my mother language I hope I was understanble.

0 Kudos
3 Replies
Judith_W_Intel
Employee
474 Views
Two problems here: (1) What are the quotes doing in the declararation and (2) An operator declaration must declare an actual operator (not a name like _Incr) So: constexpr float operator "" _Incr( float fValue ) should really be: constexpr float _Incr(float fValue) // function declaration or constexpr float operator++(float fValue) // operator declaration The problem might be caused by some incorrect macro expansion, Judy
0 Kudos
Judith_W_Intel
Employee
474 Views
In the link you mentioned "User Defined Literals" is listed on the slide under C++11 features NOT yet implemented.
0 Kudos
chkone
Beginner
474 Views
The quotes is in the C++11, the prototype for "User Defined Literals" http://en.cppreference.com/w/cpp/language/user_literal Thanks, indeed after some others search, the "User Defined Literals" are not yet implemented in Intel C++ 13 XE. Thanks...
0 Kudos
Reply