我刚学习了C++指针和删除指针.我自己尝试了这个代码
# include<iostream>
using namespace std;
int main(){
int num = 10;
int *p = new int;
p = #
cout << *p << endl;
delete p;
cout << num << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
删除指针后p,我无法打印值num.但如果我p在程序的最后删除,cout << num << endl;会给我10.任何人都知道我在哪里运行?
当我运行构建完美迷宫的代码时出现此错误。这是代码:
def walk(self, s, x, y):
neighboor = [(x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)]
if s.size() == self.size**2: return
else:
while True:
new = choice(neighboor)
if self.is_valid(new[0], new[1]): break
while self.maze[new[0]][new[1]].getVisit():
if len(neighboor) != 0: new = choice(neighboor.remove(new))
else:
temp = s.pop(s)
self.walk(s, temp[0], temp[1])
#print(new)
self.maze[new[0]][new[1]].changeVisit()
if new == neighboor[1]:
self.maze[x][y].changeNorth()
self.maze[new[0]][new[1]].changeSouth()
elif new == neighboor[0]:
self.maze[x][y].changeSouth()
self.maze[new[0]][new[1]].changeNorth()
elif new == neighboor[2]:
self.maze[x][y].changeEast()
self.maze[new[0]][new[1]].changeWest()
elif new == neighboor[3]:
self.maze[x][y].changeWest() …Run Code Online (Sandbox Code Playgroud)