Code:
#include <iostream>
#include <set>
using namespace std;
template <class T>
class a
{
public:
struct b { T x; };
static set<a::b> s;
};
template <class T> set<a<T>::b> a<T>::s;
int main()
{
a<int>::b c;
c.x = 8;
cout << c.x << endl;
return 0;
}
#include <iostream>
#include <set>
using namespace std;
template <class T>
class a
{
public:
struct b { T x; };
static set<a::b> s;
};
template <class T> set<a<T>::b> a<T>::s;
int main()
{
a<int>::b c;
c.x = 8;
cout << c.x << endl;
return 0;
}
g++ mi prijavljuje upozorenje
Code:
imp.cpp: 15 warning: `a<T>::b' is implicitly a typename
imp.cpp: 15 warning: implicit typename is deprecated, please see
documentation for details
imp.cpp: 15 warning: `a<T>::b' is implicitly a typename
imp.cpp: 15 warning: implicit typename is deprecated, please see
documentation for details
Šta to znači?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.