954,499 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

slight template problem

i'm testing out a template function i created for a header file i'm writing, but it will not compile for some reason. it's giving me problems with iosfwd, although i'm not using it.

#include <iostream>

using namespace std;

template <class LOGICAL_AND>
LOGICAL_AND __and(x, y)
{
	return x==y ? 1 | 0;
}


int main()
{
	int a = 24;
	int b = 7;
	int c = 12;
	int d = 12;

        char x[2]; //use to close program and show values

	cout << __and(a,b) << endl;
	cout << __and(c,d) << endl;

	cin.get(x,2);

	return 0;
}


i would post up the errors but theres around 147 of them e.e

any ideas?

LdaXy
Light Poster
32 posts since Dec 2011
Reputation Points: 10
Solved Threads: 2
 

You want :

template<typename T>
bool logicalAnd(T x, T y){
 return x == y;
}
int main(){
 int x = 3, y = 5;
 cout << logicalAnd(x,y) << endl;
}


Btw, you probably don't want to use double underscore as an identifier because its reserve

firstPerson
Senior Poster
3,923 posts since Dec 2008
Reputation Points: 841
Solved Threads: 608
 

firstly, you forogot the using directive. cout would be uindefined without it.

secondly it still give me the errors described. i think it's the template declarator that may be incorrect (not the function but what ever the code used to create the definition for template)

thirdly my syntax is correct:

return x==y ? 0 | 1


returns 0 if x != y and 1 if x == y see c++ operators for ?

LdaXy
Light Poster
32 posts since Dec 2011
Reputation Points: 10
Solved Threads: 2
 

Just an observation. Using tokens/keywords with leading double underscores, such as __AND, are reserved for the compiler and system library implementer. NEVER (I repeat that - NEVER) use them in your own code, otherwise you are likely to encounter some very weird error situations with names (and macro name) collisions! If you are writing a compiler and the associated support libraries, then that is your choice. If not, then DO NOT DO THIS! Trust me, I have had to deal with a number of these problems in the past, and figuring out why things went sideways was not a fun exercise!

rubberman
Posting Virtuoso
1,564 posts since Mar 2010
Reputation Points: 277
Solved Threads: 179
 

ok i removed the underscores from my code, but it still is giving me errors with iosfwd.


1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(41) : error C2146: syntax error : missing ';' before identifier 'fpos_t'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(41) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(42) : error C2143: syntax error : missing ';' before 'const'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(42) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(42) : error C2734: 'std::_BADOFF' : const object must be initialized if not extern
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(186) : error C2061: syntax error : identifier '_In_count_'
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(295) : see reference to class template instantiation 'std::char_traits<_Elem>' being compiled
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(187) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(188) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(197) : error C2061: syntax error : identifier '_In_z_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C2144: syntax error : 'int' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(208) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(209) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(209) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(212) : warning C4183: 'copy': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(214) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(214) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(214) : error C2086: 'int std::char_traits<_Elem>::_Elem' : redefinition
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(214) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(214) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(215) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(216) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(216) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(224) : warning C4183: '_Copy_s': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(226) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(226) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(226) : error C2373: 'std::char_traits<_Elem>::_Elem' : redefinition; different type modifiers
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(226) : error C2061: syntax error : identifier '_In_count_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(227) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(228) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(228) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(234) : warning C4183: 'find': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C2144: syntax error : 'int' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C2086: 'int std::char_traits<_Elem>::_Elem' : redefinition
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(237) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(238) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(239) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(239) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(242) : warning C4183: 'move': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(244) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(244) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(244) : error C2086: 'int std::char_traits<_Elem>::_Elem' : redefinition
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(244) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(244) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(245) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(246) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(246) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(258) : warning C4183: '_Move_s': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(260) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(260) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(260) : error C2086: 'int std::char_traits<_Elem>::_Elem' : redefinition
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(260) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(260) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(261) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(262) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(262) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(268) : warning C4183: 'assign': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(270) : error C2143: syntax error : missing ';' before '__cdecl'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(270) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(270) : error C2086: 'int std::char_traits<_Elem>::_Elem' : redefinition
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(207) : see declaration of 'std::char_traits<_Elem>::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(270) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(271) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(273) : warning C4183: 'to_char_type': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(275) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(275) : error C2143: syntax error : missing ',' before '&'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(323) : error C2061: syntax error : identifier '_In_count_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(324) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(325) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(331) : error C2061: syntax error : identifier '_In_z_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C2144: syntax error : 'int' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C2377: 'std::char_traits::_Elem' : redefinition; typedef cannot be overloaded with any other symbol
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(301) : see declaration of 'std::char_traits::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(339) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(340) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(340) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(340) : warning C4183: 'copy': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(345) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(345) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(345) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(345) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(346) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(347) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(347) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(347) : warning C4183: '_Copy_s': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(354) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(354) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(354) : error C2373: 'std::char_traits::_Elem' : redefinition; different type modifiers
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(338) : see declaration of 'std::char_traits::_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(354) : error C2061: syntax error : identifier '_In_count_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(355) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(356) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(356) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(356) : warning C4183: 'find': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(362) : error C2144: syntax error : 'int' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(362) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(362) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(362) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(362) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(363) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(364) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(364) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(364) : warning C4183: 'move': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(369) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(369) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(369) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(370) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(371) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(371) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(371) : warning C4183: '_Move_s': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(378) : error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(378) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(378) : error C2061: syntax error : identifier '_Out_cap_'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(378) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(379) : error C2143: syntax error : missing ')' before '{'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(379) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(379) : warning C4183: 'assign': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(384) : error C2143: syntax error : missing ';' before '__cdecl'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(384) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(385) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(385) : warning C4183: 'to_char_type': missing return type; assumed to be a member function returning 'int'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(389) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(389) : error C2143: syntax error : missing ',' before '&'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(328) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(328) : error C2065: '_First2' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(328) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(334) : error C2065: '_First' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(342) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(342) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(342) : error C2065: '_First2' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(342) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(350) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(350) : error C2065: '_Size_in_words' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(350) : error C2065: '_First2' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(350) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(350) : error C3861: '_CRT_SECURE_WMEMCPY': identifier not found
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(351) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(358) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(358) : error C2146: syntax error : missing ')' before identifier '_Elem'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(358) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(358) : error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(366) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(366) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(366) : error C2065: '_First2' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(366) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : error C2065: '_First1' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : error C2065: '_Size_in_words' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : error C2065: '_First2' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : error C2065: '_Count' : undeclared identifier
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : error C3861: '_CRT_SECURE_WMEMMOVE': identifier not found
1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\iosfwd(374) : fatal error C1003: error count exceeds 100; stopping compilation
1>Build log was saved at "file://c:\Users\LdaXy\Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm"
1>test - 147 error(s), 14 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

here is a list of errors. please noe that this does not occur when i do not use template.

LdaXy
Light Poster
32 posts since Dec 2011
Reputation Points: 10
Solved Threads: 2
 

Well, this is pretty simple code, and other than the underscore issue, I don't see why you are having this problem. Have you posted your code in its entirety, and altogether?

rubberman
Posting Virtuoso
1,564 posts since Mar 2010
Reputation Points: 277
Solved Threads: 179
 

yes that is the complete code there. i should mention though, that a few weeks ago Visual studio wouldn't work and complained that the compilers and includes were missing. (even though i have he windows sdk installed.) creating anything else works just not the template declarator.

LdaXy
Light Poster
32 posts since Dec 2011
Reputation Points: 10
Solved Threads: 2
 
yes that is the complete code there. i should mention though, that a few weeks ago Visual studio wouldn't work and complained that the compilers and includes were missing. (even though i have he windows sdk installed.) creating anything else works just not the template declarator.


Ok. Important information here! If VS thinks your system is fubar, then you should reinstall Visual Studio! Root cause analysis - something everyone who writes computer software should learn, FIRST! :-)

rubberman
Posting Virtuoso
1,564 posts since Mar 2010
Reputation Points: 277
Solved Threads: 179
 

problem is though, i've done that 6-8 times before this error occurred. i'm extremely proficient at tech support and after repeating the same process 6 times with the problem still persisting, it doesn't make much sense to try it again.

maybe i'll switch to codeblocks and see if it works.

LdaXy
Light Poster
32 posts since Dec 2011
Reputation Points: 10
Solved Threads: 2
 

firstly, you forogot the using directive. cout would be uindefined without it.

secondly it still give me the errors described. i think it's the template declarator that may be incorrect (not the function but what ever the code used to create the definition for template)

thirdly my syntax is correct:

return x==y ? 0 | 1

returns 0 if x != y and 1 if x == y see c++ operators for ?

I assumed you were smart enough to figure the implicit stuff out. Btw, you're trying to use ternary but you are using the wrong syntax, you want, return x == y ? 1 : 0 but even more simpler, just return x == y

firstPerson
Senior Poster
3,923 posts since Dec 2008
Reputation Points: 841
Solved Threads: 608
 

This

#include <iostream>

using namespace std;

template<class T>
bool logicalAnd(T x, T y){
	return !(x == y);
}

int main(){
	int x = 3, y = 5;
	cout << logicalAnd(x,y) << endl;
}


compiled without any errors or warnings using g++ -Wall , so if it doesn't compile under VS it's most likely something with your installation, or something VS-specific.

jaskij
Junior Poster
105 posts since Oct 2011
Reputation Points: 55
Solved Threads: 18
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: