Problem :
The following code fails to compile with Intel C++ compiler.
The following code fails to compile with Intel C++ compiler.
template< class T >
class C
{
public:
void foo();
void foo(const T& src);
};
struct B
{
int a;
int b;
};
class A {
void bar();
C<B *> m_t;
};
void A::bar()
{
B * __restrict p;
m_t.foo(p);
}
Environment :
Windows, Microsoft* Visual Studio 2005*, Microsoft Visual Studio 2008*
Root Cause :
__restrict keyword was not handle properly
Resolution :
Resolve in the latest version of Intel C++ Compiler 11.1.
Workaround, remove __restrict.
