Функция друга в CUDA C ++C++

Программы на C++. Форум разработчиков
Anonymous
Функция друга в CUDA C ++

Сообщение Anonymous »

Я работаю над проблемой, когда классы А и В объявляются в Test0 Test0, а функция друга F класса A объявлена ​​в Test1 Test1. Функция F принимает ссылку на объект класса B в качестве его параметра. Вот упрощенный пример. < /P>
namespace test0 {
class B;
}

namespace test1 {
void f(test0::B& b);
}

namespace test0 {
class A {
friend void test1::f(test0::B& b);
};
}
< /code>
Код работает с G ++. Но NVCC дает следующую ошибку компиляции. < /P>
a.cu:11:22: error: ‘B’ has not been declared
friend void test1::f(test0::B& b);
^
a.cu:11:27: error: ‘void test1::f(int&)’ should have been declared inside ‘test1’
friend void test1::f(test0::B& b);
^
< /code>
Не могли бы вы помочь мне выяснить, в чем проблема? Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/505 ... -in-cuda-c

Вернуться в «C++»