任何人都可以告诉我为什么我得到“访问违规读取位置”与此代码示例?我该如何解决这个问题?为什么使用此代码获得“访问冲突读取位置”错误?
#include <vector>
using namespace std;
struct StructTest;
struct Struct1;
typedef struct Struct1{
StructTest* test;
} Struct1;
typedef struct StructTest{
vector<Struct1*> test123;
} StructTest;
static StructTest* abc;
int test(){
abc = (StructTest*) malloc(sizeof(StructTest));;
Struct1* a1 = (Struct1*) malloc(sizeof(Struct1));
a1->test = abc;
abc->test123.push_back(a1);
return 0;
}
int main(){
test();
return 0;
}
哪一行导致错误? –
对于一个问得好的问题+1([sscce](http://sscce.org)) – Flexo