我正在开展一个大项目,但我无法解决这个问题。我确定它有一些我忽略的语法。我在下面的代码中将其简化为此问题。我在一个函数中创建了一个动态数组,但它不会传入return函数。我正在获取Access违规写入位置,所以我知道它与动态数组的指向有关。我编码了36个小时,所以任何建议都会有很大的帮助。
Header.h
#ifndef HEADER_H
#define HEADER_H
struct process {
int thing1;
int thing2;
};
class join {
private:
int something;
int something2;
process * p;
public:
join();
void SetT(int);
void SetP();
void returnP();
};
#endif // !Header_h
Header.cpp
#include "Header.h"
#include <iostream>
using namespace std;
join::join() {
something = 0;
something2 = 0;
}
void join::SetT(int ST) {
something = ST;
}
void join::SetP() {
process * p = new process[something];
}
void join::returnP() {
p[1].thing1 = 12; //error occurs
cout << p[1].thing1;
}
Source.cpp
#include "Header.h"
#include <iostream>
using namespace std;
int main() {
join j;
j.SetT(2);
j.SetP();
j.returnP();
}