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

Compiler error

chhenning_1977
Beginner
387 Views
Hi there, I'm evaluating the Intel C++ compiler for my company. Unfortunately I'm hitting some compiler errors with the 12.0 version.
The most notorious error is:
error : argument list for template template parameter "TRowset" is missing
in the code line
__if_exists( TRowset::m_nCurrentRow )
TRowset is a defined as a template parameter in the following matter:
template class TRowset = CMyBulkRowset, typename TMultiple = CNoMultipleResults>
class CMyCommandBase :public CCommand

This code compiles just fine with Visual Studio 2010. What can I do to overcome this error?
Thanks a lot,
Christian
0 Kudos
3 Replies
Judith_W_Intel
Employee
387 Views

I'm afraid you're going to have to supply us with a complete test case ... I tried to fill in the missing puzzle pieces from your description and it compiles fine, i.e.:

!% cat t.cpp


template
class CMyBulkRowset {
public:
int m_nCurrentRow;
};

template template class TRowset = CMyBulkRowset>
class C {
void f() { __if_exists(TRowset::m_nCurrentRow) ; }
};

C c;

!% icl -c t.cpp
Intel C++ Compiler XE for applications running on IA-32, Version 12.0 Beta Bu
ild x
Built Feb 13 2011 19:08:15 by jward4 on JWARD4-DESK in D:/workspaces/12_0cfe/dev

Copyright (C) 1985-2011 Intel Corporation. All rights reserved.

t.cpp
!%

0 Kudos
chhenning_1977
Beginner
387 Views
Hi there, thanks for your quick answer. Since the __if_exists is a compile time construct, I have decided to comment it out for now.

So far it seemsto workbut there are still more errors I need to care of.

Regards,
Christian
0 Kudos
chhenning_1977
Beginner
387 Views
Hi there, thanks for your quick answer. Since the __if_exists is a compile time construct, I have decided to comment it out for now.

So far it seemsto workbut there are still more errors I need to care of.

Regards,
Christian
0 Kudos
Reply