这是我的代码,xmlDoc * d总是被重置为nil in" ExTest,try1"
ex_test.cpp
typedef const char* str;
class ExTest : public ::testing::Test {
protected:
static str html;
static xmlDoc *d;
static void SetUpTestCase() {
html = "<html></html>";
xmlDoc *d = xmlParseDoc((const xmlChar *) html);
d;//0x685a30
}
};
str ExTest::html = NULL;
xmlDoc *ExTest::d = NULL;
TEST_F(ExTest, try1) {
d; //nil
}
答案 0 :(得分:1)
您有两个不同的变量,都称为d
。
static xmlDoc *d; <- here's one
static void SetUpTestCase() {
html = "<html></html>";
xmlDoc *d = ... <- here's the other
你可能意味着:
d = xmlParseDoc((const xmlChar *) html);
这将设置现有d
变量的值,而不是创建新变量。