-1
나는 다음을 수행 다른 gtest을 가지고 있고 그것을 잘 작동합니다 :gtest 설정 해체 TestEnvironment - 변수 클래스 문제
TEST(TEST1, TestName)
{
ClassName env;
const String original = env(Con::WorkingDir);
Con c = env;
}
을하지만, 나는이 다른 gtest 클래스 설정하고 전체에 걸쳐 개최되고 싶지 테스트 픽스쳐. 그러나이 오류 메시지가 나타납니다.
적절한 연산자가없는 클래스 형식의 개체 또는 변환 함수가 함수 유형에 대한 포인터로 호출됩니다.
나는 initialize gtest을보고 있는데, 내가 무엇을 놓치고 있는지 잘 모르겠다. 내가 익숙하지 않은 정적 변수를 사용할 수도 있습니다. 클래스 네임 정적 싶지 않아요.
무엇이 잘못 되었나요?
//this is intended to setup env to use in teardown.
class TestEnvironment : public ::testing::Environment {
public:
static String getEn() {
ClassName env;
static const String sString = env(Con::WorkingDir); //env has the error message here
return sString;
}
}
class UnitTest : public ::testing::Test
{
public:
virtual void SetUp() {
//
}
virtual void TearDown() {
//set env back to initial value
getEn();
//process env info;
}
클래스 '클래스 이름'에 대해 자세히 알려주십시오. 'static const String sString = env (Con :: WorkingDir); '과 같은 명령문은'env'가 함수 객체이고, 에러 메시지가 그렇지 않다면 컴파일 할 수 있습니다. 나는 당신이'ClassName'의 정의를 추가하여 질문을 편집 할 것을 제안합니다. –
정적 인 const를 제거하여 작동 시켰습니다. – Michele
클래스가 함수 객체가 아닙니다. 나는 그것에 대해 들어 본 적이 없다. – Michele