c++ - 当我在函数参数中使用指针时遇到错误

标签 c++ arrays pointers

错误是这样的: 无法将参数 1' 的 int*' 转换为 int*' tobool permission(int*, int, int)' 在代码中我有一个 int board[n],用户给出了 'n'... 我想给我的许可函数这个数组,所以我不得不通过指针给它,因为它的长度没有指定......那么我该如何解决这个问题 这是我的代码:

#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;
bool permition(int* board[],int place,int n_){
 int m=place;
 while(m!=0){          
             m--;
             if(abs(abs(board[m]-board[place])-abs(m-place))==1 
                && abs(m-place)<3 && abs(board[m]-board[place]))
                 return false;
             }
 return true;     
 }
 void printBoard(int* board[],int n){
 for(int i=0;i<n;i++)
         cout << board[i]<< " ";
 cout << endl;

 }
int main()
{
int p=0;
int n;
cout << "plz: ";
cin >> n;
int board[n];
for(int i=0;i<n;i++)
        board[i]=0;
while(p<n){
           while((board[p]<n) && permition(board,p,n)==false)
               board[p]+=1;
           if(board[p]<n)
               p++;
           else{
                p--;
                board[p]+=1;
                }
           if(p==n && board[0]<n-1)
    //it means the first number is not max so we should         
    //print and continue from fist again
           {
                   printBoard(board,n);
                   p=0;
                   board[0]+=1;
           }
           }

system("PAUSE");
return 0;
}

最佳答案

去掉permission函数定义中的[]:

bool permition(int* board,int place,int n_)

看看有没有帮助!

关于c++ - 当我在函数参数中使用指针时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287970/

相关文章:

c - C 中带有指向结构体和结构体数组的指针的随机结果

pointers - 如何在 Go 中存储对操作结果的引用?

C 中的字符数组基础知识

c++ - 推荐用于跨平台进程内动态库绑定(bind)的 C++ 包装器(即轻量级、高性能 COM 或 CORBA)

c++ - Qt/C++ : Getting the data at a certain cell in a QTableView

c++ - 覆盖 operator[] 和调用方法

无法获取字符串数组来复制一个随机值

java - 二维数组的构造函数仅包含最后一个值

c - 为什么最高的元素没有返回?

C++ cin.fail() 问题