Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >作为函数中参数的指针数组

作为函数中参数的指针数组
EN

Stack Overflow用户
提问于 2011-11-26 11:55:51
回答 2查看 231关注 0票数 2

我在一个类中创建了这个函数,并收到错误:不允许指向不完整的类类型的指针。

然而,就我而言,可以声明一个指向抽象类的对象的指针数组。之后,您可以在数组中传递派生类的对象。这段代码的问题出在哪里( Square类是抽象的):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public:
Player(int,int);
void captureSquare(Square* []);

void Player::captureSquare(Square* allSquares[22])
{
  for(int i=0;i<22;i++){
    Square* OnSquare = allSquares[i];
      if(OnSquare->getID==squarePosition){
        capturedSquare = OnSquare;
        break;
 }
}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-26 12:02:38

您必须确保在使用类时Square的类定义是可见的(通过取消引用指针)。通常如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// player.hpp

class Square;

class Player
{
  void captureSquare(Square* []);
};

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// player.cpp

#include "player.hpp"
#include "square.hpp"

void Player::captureSquare(Square* allSquares[22])
{
  allSquares[0]->foo();  // need complete class here!
}
票数 6
EN

Stack Overflow用户

发布于 2011-11-26 12:00:14

抱怨类型不完整的错误通常意味着此时类的定义不可用。您是否在同一文件或包含的文件中的某处有像class Square;这样的行(没有常用的花括号及其内容)?

如果没有看到更多的代码(并且不知道编译器在抱怨哪一行),就很难说出更明确的东西了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8278236

复制
相关文章
函数(四)(数组作为函数参数)
一是数组元素作为函数参数,这种情况下与简单变量作为函数的参数完全一样,数组元素的值被单向传递给形参变量。
pigeon
2022/04/11
1.5K0
函数(四)(数组作为函数参数)
Go 语言指针作为函数参数
Go 语言允许向函数传递指针,志需要在函数定义的参数上设置为指针类型即可。 以下实例演示了如何向函数传递指针,并在函数调用后修改函数内的值,: package mainimport "fmt"func main() { /* 定义局部变量 */ var a int = 100 var b int= 200 fmt.Printf("交换前 a 的值 : %d\n", a ) fmt.Printf("交换前 b 的值 : %d\n", b ) /* 调用函数用于交换值
李海彬
2018/03/22
1.4K0
6.5 数组作为函数参数
在用数组元素作函数实参时,把实参的值传递给形参,是“值传递”方式。数据传递的方向是从实参传到形参,单向传递
小林C语言
2019/08/19
1.3K0
7.3 数组作为函数参数
2、用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参传递的是数组首元素的地址。
小林C语言
2019/07/12
1.5K0
【C语言笔记】函数指针作为函数的参数
函数指针有两种常用的用法,一种是作为结构体成员,关于函数指针作为结构体成员的用法可移步至上一篇【C语言笔记】函数指针作为结构体成员进行查看。另一种是函数指针作为函数的参数。这一篇分享的是函数指针作为函数的参数。
正念君
2019/06/26
10.8K0
【C语言笔记】函数指针作为函数的参数
C语言指针变量作为函数参数
自学气象人
2023/06/20
1160
C语言指针变量作为函数参数
【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
结构体变量 作为函数形参 , 在函数中 , 只能访问 该函数形参 , 无法修改 结构体内存 的值 ;
韩曙亮
2023/03/29
3.7K0
【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
[编程] C语言结构体指针作为函数参数
结构体指针作为函数参数: 结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针。如果结构体成员较多,尤其是成员为数组时,传送的时间和空间开销会很大,影响程序的运行效率。所以最好的办法就是使用结构体指针,这时由实参传向形参的只是一个地址,非常快速。
唯一Chat
2019/09/10
5.7K0
7.3 C语言数组作为函数参数
2、用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参传递的是数组首元素的地址。
小林C语言
2020/12/07
2.7K0
7.3 C语言数组作为函数参数
java中输出数组内容的函数,并将数组内容作为参数_数组的逆序输出
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
2.8K0
函数指针数组的指针
pf是一个指针,这个指针指向一个有3个元素的数组,每个元素是一个参数为char* ,返回值为char *的指针。 示例:
Daotin
2018/08/31
1.3K0
函数指针数组的指针
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
数组名称不作为常量指针的场合 : 数组名类似于常量, 但不是常量, 下面两种场合数组名与常量指针不同 ;
韩曙亮
2023/03/27
3.7K0
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
C语言数组作为函数参数-学习十九
本文最后更新于2022年02月13日,已超过15天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1.7K0
C语言数组作为函数参数-学习十九
数组作为实参,指针作为形参
这样传递下来,buffer数组的值为{0x0101,0x0202,0,0,0,0}。函数将地址data后的两个16位的数赋值给地址buffer后的两个16位数。
用户9736681
2022/05/11
9960
C语言数组作为函数参数「建议收藏」
实质是地址的传递,将数组的首地址传给形参,形参和实参共用同一存储空间,形参的变化就是实参的变化。
全栈程序员站长
2022/09/08
2K0
【C 语言】二级指针作为输入 ( 指针数组 | 将 二级指针 作为函数输入 | 抽象函数业务逻辑 )
文章目录 一、打印 指针数组 中指针指向的字符串 二、字符串排序 三、代码示例 一、打印 指针数组 中指针指向的字符串 ---- 打印 指针数组 中指针指向的字符串 : 指针退化问题 : 传入二级指针 , 同时还要传入 一级指针的个数 ; 实参是 指针数组 , 形参 退化为 二级指针 , 需要人为指定 数组的元素个数 ; 验证指针合法性 : 函数中 , 只要是指针 , 就有可能为 NULL , 函数入口就要验证该指针合法性 ; /* * 打印函数 */ int printf_array(char **a
韩曙亮
2023/03/29
6060
【C 语言】二级指针作为输入 ( 指针数组 | 将 二级指针 作为函数输入 | 抽象函数业务逻辑 )
【C 语言】指针间接赋值 ( 指针作为 函数参数 的意义 | 间接赋值 代码示例 )
调用函数时 , 调用 & 取地址 生成 实参 p , 将 指针变量 p 实参 传递给 函数形参 , 在函数中 借助传入的 指针 可以 实现 与 外部函数 的内存共享 , 在函数中使用 *p 修改内存值 , 可以将 运算结果通过 *p 传递出来 ;
韩曙亮
2023/03/29
1.3K0
【C 语言】指针间接赋值 ( 指针作为 函数参数 的意义 | 间接赋值 代码示例 )
【C 语言】二级指针作为输入 ( 指针数组 | 指针数组排序 | 字符串排序 | strcmp 函数 )
strcmp 是 String Compare 缩写 , 该函数用于比较两个字符串 ;
韩曙亮
2023/03/29
7060
【C 语言】二级指针作为输入 ( 指针数组 | 指针数组排序 | 字符串排序 | strcmp 函数 )
函数指针数组指针+结构体数组
/***************** 结构体数组 计算一个班学生四门课程平均分 ************************/ #include <stdio.h> #include <string.h> char *fun1(char *p) { printf("%s\n",p); return p; } char *fun2(char *p) { printf("%s\n",p); return p; } char *fun3(char
用户4645519
2020/09/07
8660
c语言函数指针的用法_函数指针作为形参
函数指针和指针函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数指针函数、指针函数指针、数组指针、指针数组、函数指针数组等等,描述越长其定义就越复杂,当然理解起来就越难,特别是刚开始学习这门语言的童鞋,估计碰到这些东西就已经要崩溃了,然后好不容易死记硬背下来应付考试或者面试,然后过了几天发现,又是根本不会用,也不知道该在哪些地方用,这就尴尬了。
全栈程序员站长
2022/09/23
6650

相似问题

作为函数参数的数组指针

218

作为参数的函数指针数组

10

作为函数参数的指针数组

38

作为函数参数的指针数组

53

将函数指针数组中的函数指针作为模板参数传递

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文