Intel C++ 13 XE

Intel C++ 13 XE

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

4 posts / 0 new
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem 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

imagem de Judith Ward (Intel)

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

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

Faça login para deixar um comentário.