Perhaps you meant:
Code:
template<class T, class U>
A<T> operator-(const A<T>& lhs, U rhs)
{ return A<T>(); }
template<class T, class U>
A<T> operator-(const A<T>& lhs, U rhs)
{ return A<T>(); }
class A
{
public:
A() { }
template <typename T> A(T t) { }
};
template <typename T>
A
operator-(const A& lhs, T rhs)
{ return A(); }
class B
{
public:
B()
template <typename T>
class foo
{
public:
template <typename U> void bar() { }
};
template <typename T>
void baz() {
template <typename T>
class foo
{
public:
template <typename U> void bar() { }
};
template <typename T>
void baz() {
foo<T> f;
f.bar<T>();
}
template <typename T>
class List
{
public:
template <typename T> typename List<T>::ListNode* List<T>::find()
template <typename T> List<T>::ListNode* List<T>::foo();
#include <iostream>
void foo(int x) { std::cout << x << std::endl; }
class bar
{
public:
void foo() { foo(1); }
};
int main() {
bar baz;
baz.foo();
}
template<typename T>
class bar;
template<typename T, typename U>
void foo(const U& u) {
bar<T> baz;
baz.m_member = 0;
}
template<typename T>
class bar
{
// friend...
private:
int m_member;
};
int main() {
foo<char>(1);
int initcreate() {
int initiative[(MAXUNITS-1)][2];
int unitcount = 0;
for (int i = 0; i < (BOARDX-1); i++) {
for (int j = 0; j < (BOARDY-1); j++) {
if (forces[i][j] != 0) {
initiative[unitcount][0]
template <typename t> struct addcref
{
typedef const t& type;
};
template <typename t> struct addcref <t&>
{
typedef t& type;
};
Leave a comment: