Intel C++ 13 XE

Intel C++ 13 XE

Bild des Benutzers chkone

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 :

constexpr float operator "" _Incr( float fValue )
{
return fValue + 1.f;
}

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.

4 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Judith Ward (Intel)

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

Bild des Benutzers Judith Ward (Intel)

In the link you mentioned "User Defined Literals" is listed on the slide under C++11 features NOT yet implemented.

Bild des Benutzers chkone

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...

Melden Sie sich an, um einen Kommentar zu hinterlassen.