代码存在以下问题:

  1. 在使用memset函数时,第三个参数应该是sizeof(checkboard),而不是sizeof(checkboard[0][0]) * MAXIMUM * MAXIMUM。
  2. 在addQueen函数中,对于检查棋子左下和右上的操作有误,应该是if_inlimit_check_than_do(thisRow+i, loc-i)和if_inlimit_check_than_do(thisRow-i, loc+i),而不是if_inlimit_check_than_do(thisRow+i, loc-i)和if_inlimit_check_than_do(thisRow-i, loc+i)。
  3. 在next函数中,应该使用Solution* newSolution = new Solution()来创建新的Solution对象,并且在if(newSolution.addQueen(i))语句后调用newSolution->next(),而不是newSolution.next()。
  4. 在next函数中,应该在newSolution->next()调用之后删除newSolution对象,避免内存泄漏。
  5. 在main函数中,应该使用cin >> x来接收用户输入的n值,而不是cin >> &x
以下为一份C++代码目的是完成N皇后问题输入一个n输出所有可能的解法。请找出代码的问题#includebitsstdc++husing namespace std;#define inlimitx y x = 0 && x size && y = 0 && y size#define check_than_dox y ifcheckboardxy = 0 checkboardxy++#defi

原文地址: https://www.cveoy.top/t/topic/hSbb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录