Intel C++ 13 XE

Intel C++ 13 XE

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

publicaciones de 4 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de 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

Imagen de Judith Ward (Intel)

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

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

Inicie sesión para dejar un comentario.