В следующем классе кода A имеет частную функцию F . Я хочу написать статическое утверждение, которое проверит, доступна ли эта функция из текущего контекста (как было предложено в комментарии к этому вопросу).
Существует 3 аналогичных случая, на основе требуется -expression:
class A { void f(); };
// #1: accepted by all
static_assert( { return requires(decltype(x) a){ a.f(); }; }(A{}) );
// #2: rejected by Clang:
static_assert( { return requires(A a){ a.f(); }; }(nullptr) );
// #3: rejected by all
static_assert( !requires(A a){ a.f(); } );
< /code>
case #3 (и #2 в Clang) отклоняется с ошибкой: < /p>
error: 'f' is a private member of 'A'
В следующем классе кода A имеет частную функцию F . Я хочу написать статическое утверждение, которое проверит, доступна ли эта функция из текущего контекста (как было предложено в комментарии к этому вопросу). Существует 3 аналогичных случая, на основе требуется -expression: [code]class A { void f(); };
// #1: accepted by all static_assert( { return requires(decltype(x) a){ a.f(); }; }(A{}) );
// #3: rejected by all static_assert( !requires(A a){ a.f(); } ); < /code> case #3 (и #2 в Clang) отклоняется с ошибкой: < /p> error: 'f' is a private member of 'A' [/code] demo: https://gcc.godbolt.org/z/3z5tdhrcp написан>
Примечание. Я определил директиву препроцессора UNITTESTS для проекта, содержащего Foo.h, и для проекта модульного теста, содержащего utFoo.cpp.
Мне нужна тестовая установка метод utFooFixture::utMethod1 для доступа к частному члену Foo::m_fooProc....
Примечание. Я определил директиву препроцессора UNITTESTS для проекта, содержащего Foo.h, и для проекта модульного теста, содержащего utFoo.cpp.
Мне нужна тестовая установка метод utFooFixture::utMethod1 для доступа к частному члену Foo::m_fooProc....
Мне хотелось бы, чтобы метод тестовой фиксации utFooFixture::utMethod1 имел доступ к частному члену Foo::m_fooProc.
Я выполнил инструкции и еще один совет по переполнению стека, чтобы объявить utFooFixture другом с помощью макроса FRIEND_TEST, но я...
Я использую удаленный плагин VS Code на своем MacBook для подключения к удаленному компьютеру разработки Ubuntu для проекта CPP. Проект CPP основан на платформе trpc и построен с использованием Bazel. Я использую плагин C/C++ для помощи в...