-1
ファイル++:は、次のように私は、ヘッダファイルを持っている
int64_t *id;
int *sz;
void setupUnionFind(int numNodes)
{
id = (int64_t *)malloc(numNodes*sizeof(int64_t));
sz = (int *)malloc(numNodes*sizeof(int));
for (int64_t i = 0; i < numNodes; i++)
{
id[i] = i;
sz[i] = 0;
}
}
次のように私は別のC++のファイルにこれを含めています:
#include "headerGile.h"
#include "gtest/gtest.h"
class UnionFindMethodsTest : public testing::Test {
protected:
//constructor
UnionFindMethodsTest(){
int numNodes = 10;
setupUnionFind(numNodes);
}
//destructor
virtual ~UnionFindMethodsTest(){
}
};
other functions below this ......
私はこれをコンパイルするとファイルでは、ヘッダファイルのid、szがこのスコープ内で宣言されていないことを示します。つまり、ヘッダファイル内のすべての変数について同じことが言われます。 私はここで何が起こっているのか理解できません。
あなたの言うことが真実なら、問題を引き起こすためにC++ファイルにコードは必要ありません。ちょうど '#include" headerGile.h "'がそれを行います。しかし、このコードでは、あなたが記述した問題は発生しません。あなたが言及していない何か他のものがあります。 –