Здравствуйте, The_Thing, Вы писали:
T_T>Здравствуйте, Антибиотик, Вы писали:
T_T>Вот такой код на GCC работает (ниже), уверен, что на студии также!
T_T>T_T>#include <iostream>
T_T>using namespace std;
T_T>namespace A {
T_T> template <typename T>
T_T> void foo(T* val)
T_T> {
val->>b_ = 2;
T_T> cout << val->b_;
T_T> }
T_T>};
T_T>class B {
T_T>public:
T_T> friend void A::foo<>(B*);
T_T>private:
T_T> int b_;
T_T>};
T_T>int main()
T_T>{
T_T> B b;
T_T> A::foo(&b);
T_T> return 0;
T_T>}
T_T>
Согласен, что данный код будет работать и в студии, если при вызове foo указать пространство имен. Причина создания данной темы состоит в том, почему VC кушает вызов foo и без неймспейса.