一个关于两个类之间的函数的相互调用问题?(在先等待)急!!

yuqi791102 2002-08-02 04:16:23
我在CPage1类中有一个函数名为
Request(float str_x,float str_y,float endpoint_x,float endpoint_y,float scal)
我想在我的view中调用这个函数
我使用了
CPage1::Request(ptrx[g-1],ptry[g-1],ptrx[0],ptry[0],myData[i].Vertex[t].z)
但在DEBUG窗口中却提示
error C2352: 'CPage1::Request' : illegal call of non-static member function
这是怎么回事?
有什么解决方法吗???
...全文
181 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
howtotell 2002-08-02
  • 打赏
  • 举报
回复
有一些在很多类里边都要用的变量可以定义在
stdafx.cpp
例如 CString ttt;
中,也就是定义成全局变量,然后在各个类中extern CString ttt;
sekfore 2002-08-02
  • 打赏
  • 举报
回复
除非你那个函数是静态函数。。。。
shuizhongtu 2002-08-02
  • 打赏
  • 举报
回复
我帮
up
Cuteric 2002-08-02
  • 打赏
  • 举报
回复
各位高手看看,或者帮我up一下,我up不了了。
http://www.csdn.net/expert/topic/919/919723.xml?temp=.7951471
jkljf 2002-08-02
  • 打赏
  • 举报
回复
没有实例化对象,除非你程序中没有用到你定义这个对象中的成员或者函数,又或你是不是在你的程序的其他地方自己又生成了你的对象中定义的成员变量,比如一个整型变量int i什么的,才导致你的程序一种巧合的正确而不是错误?
ynyn 2002-08-02
  • 打赏
  • 举报
回复
那我就真的没有办法理解你目前的问题了
孙亖 2002-08-02
  • 打赏
  • 举报
回复
CMyClass obj1,obj2;
if(obj1.data==obj2.data)
printf("这是巧合或它们真的相等");
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
可是我在没有声明obj的时候
程序照样运行
并且正确
ynyn 2002-08-02
  • 打赏
  • 举报
回复
faint,我说过,在你实例化之前是什么都没有的,仅当你实例化以后,你才可以通过实例来调用类中的函数,而此时你所赋值的那个mydata是属于调用赋值函数的那个实例的
孙亖 2002-08-02
  • 打赏
  • 举报
回复
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
我确实没声明类的实例,我只是在类中的函数中进行操作
在什么地方看它是哪个实例
ynyn 2002-08-02
  • 打赏
  • 举报
回复
你在类里面怎么存数?你这样的类没有实例化根本是没用的,如果你是说在类中你有一个函数用来给myData赋值的话,它一样是需要有一个实例来调用的,如果你调用它的实例是在别的地方创建的,而不是view中的obj的话,它们的两者中mydata的值当然是不一样的
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
我说的意思是我是在CPage1类中存的数,此时的类实例是什么呢
是在view中构造的obj吗
ynyn 2002-08-02
  • 打赏
  • 举报
回复
我不是很明白,你的表述实在不是很清楚,首先myData一定也是obj的一个成员变量,所以构造obj的时候一定会构造出一个myData,至于你说的存数,我不知道是什么意思,它是在什么地方做的操作,操作的对象又是谁呢?
jingyad 2002-08-02
  • 打赏
  • 举报
回复
静态函数是属于类的,成员函数是属于对象的
所以静态函数可以使用CClass::AStaticFunc()的方式调用
而成员函数则必须:
CClass aObject;
aObject.AMemberFunc();
一般情况下只有用来提供独立服务的函数才使用静态函数,例如CTime::GetCurrentTime()等。看你的Request应该不属于这种函数,所以还是必须先构造一个对象,然后再调用。当然对象的调用必须正确
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
不是呀
我构造obj是在view中生成的
而我存数的时候我没构造mydata
两个myData 一样吗
ynyn 2002-08-02
  • 打赏
  • 举报
回复
faint,怎么越说越乱了呢?myData是CPagel中的一个成员变量对不对? Paris_Luo说的obj是在view中的CPagel类的对象,那么在构造obj的时候myData当然也构造了,不需要怎么做呀
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
也将myData定义成obj的成员变量,这样构造obj的时候,就同时构造了myData
具体怎么构造呢
我在CPage1类中也要用到mydata的
具体怎么做???
yuqi791102 2002-08-02
  • 打赏
  • 举报
回复
还有个问题程序中有个键,按下后可执行一些功能,可是我在运行时按下这个键,他就蹦出一个对话框说“内存不足”,这是怎么回事?
Paris_Luo 2002-08-02
  • 打赏
  • 举报
回复
也将myData定义成obj的成员变量,这样构造obj的时候,就同时构造了myData
加载更多回复(12)
“1-考试报名系统1”项目是一个数据结构课程设计,旨在创建一个考试报名系统。该项目由汪明杰同学在软件学院软件工程专业,同济大学进行,指导教师为张颖。 本文档详细阐述了项目的分析、设计、实现和测试过程。首,项目背景指出考试报名系统对学校教务管理的重要性,特别是在处理大量考试人员时的挑战。接着,项目需求分析部分明确了系统应具备的功能,包括用户友好性、数据处理能力等。 在项目要求中,功能要求详细列出了系统应具备的各个功能,如: 1.3.1 功能要求:这可能包括考生注册、考试选择、报名、取消报名、查询考试信息等功能。 1.3.2 输入格式:可能涉及考生信息输入的格式规范,如姓名、学号、选择的考试科目等。 1.3.3 输出格式:可能涉及打印报名成功通知、查询结果展示等输出信息的格式。 项目设计部分讨论了数据结构和的设计: 2.1 数据结构设计:可能使用数据结构如链表来存储和管理考生信息和考试数据。 2.2 设计:包括结点(ListNode)、双向链表(List)以及数据库(DataBase),用于构建系统的核心结构。 在项目实现章节,详细描述了各个功能的实现逻辑和代码,包括: 3.1 项目主体功能:涵盖系统的整体流程和代码实现。 3.2 项目初始化:如何加载初始数据,包括读取文件和手动输入。 3.3 插入数据:添加新的考生信息或考试报名。 3.4 删除数据:取消考生的报名。 3.5 修改数据:更新考生信息或考试选择。 3.6 查询数据:根据特定条件查找考生信息或考试详情。 3.7 统计数据:可能包括统计报名人数、考试科目选择情况等。 最后,项目测试部分涵盖了各种测试用例,确保系统的正确性和稳定性,如: 4.1 项目初始化测试:验证数据加载功能。 4.2 插入、删除、查找、修改和统计测试:分别检查各功能是否正常工作。 4.7 边界测试:测试特殊情况,如插入已存在的考生、删除不存在的考生等。 这个“1-考试报名系统1”项目涵盖了软件开发的完整生命周期,从需求分析到设计、实现和测试,体现了软件工程中的核心原则,特别是数据结构的应用和系统功能的实现。
根据提供的文件信息,本知识点将围绕“postprocess_swan”笔记本集合及其相关的SWAN数值模型后处理过程展开。 标题中的“postprocess_swan”指出这是一个专门用于后处理SWAN(Simulating Waves Nearshore)数值模型结果的笔记本集合。SWAN模型是一个广泛应用于近岸海域的波浪模拟工具,它可以模拟和分析波浪传播、生成、折射、反射、叠加以及破碎等现象。SWAN模型结果的后处理是整个模拟过程中的重要环节,它能够帮助研究人员分析波浪的特征,预测波浪对海岸线和海洋工程结构的影响。后处理包括数据可视化、数据统计、结果验证和解释等多个方面。 描述中提到的“后处理天鹅”,可能是对“postprocess_swan”的一种形象描述,但应该是指对SWAN模型输出结果的处理过程,而不是指某种生物或实体。 由于文件信息中未提供具体的标签内容,我们无法从这个角度提供相关的知识点。然而,“postprocess_swan-master”文件名暗示了这可能是一个开源项目,通常以“-master”结尾的文件名称表示这是一个包含源代码、数据文件、说明文档等资源的仓库主分支。 现在,让我们探讨几个与“postprocess_swan”相关的具体知识点: 1. SWAN模型简介: - SWAN全称为“Simulating Waves Nearshore”,是一种用于计算近岸波浪的数值模型。 - 它基于波浪运动的物理原理,包括波浪能量平衡方程。 - SWAN模型可以模拟波浪的成长、衰减、折射、绕射、反射和底摩擦等物理过程。 - 该模型适用于海浪、风浪、以及与海浪相关的波浪动力学问题的研究。 2. SWAN模型的应用: - 风暴潮和极端天气事件下波浪高度和周期的模拟。 - 海岸线工程的波浪载荷分析,如防波堤、海堤和人工岛的波浪作用评估。 - 环境影响评估,比如石油平台、海上风电场以及港口的建设和运营对波浪场的影响。 - 海洋资源开发,例如海底油气管道铺设和维护过程中的波浪条件预测。 3. SWAN模型后处理的重要性: - 通过后处理可以验证SWAN模型的准确性,确保模拟结果的可靠性。 - 后处理过程包括数据的提取、整理和分析,有助于更好地理解模型输出。 - 数据可视化是后处理中不可或缺的一部分,可以直观地展现波浪场的分布特征。 - 结果解释和验证通常需要与现场观测数据或其他模型预测结果对比。 4. 后处理过程中的常见操作: - 绘制波浪玫瑰图、等值线图和波高分布图等。 - 计算波浪的方向谱、频率谱和波浪能量分布。 - 使用统计分析工具,如计算波浪的平均周期、有效波高和波浪方向。 - 提取特定区域或时间点的波浪数据,进行局部细节分析。 5. SWAN模型后处理工具和方法: - 后处理工具可能包括SWAN自带的分析模块、Matlab、Python或R语言中的数据处理脚本。 - 对于可视化,可能会使用专业的数据可视化软件,如Surfer、QGIS、ArcGIS或者其他开源工具。 - 模型结果通常需要与测量数据(如ADCP数据、水位计数据)或其他模拟结果进行对比验证。 6. 开源项目“postprocess_swan”的特点和功能: - 可能提供了一套完整的后处理流程模板,便于研究人员直接使用。 - 包含了多种数据分析和可视化的方法,提高了工作效率。 - 作为一个开源项目,它可能具备良好的社区支持,方便用户提出问题和改进意见。 - 随着项目的发展,还可能包含用于处理SWAN模型不同版本输出结果的适应性调整功能。 通过以上知识点的阐述,我们可以看到“postprocess_swan”笔记本集合对于SWAN模型结果后处理的重要性和实用性。对于海洋工程、海岸工程以及海洋环境研究领域的科研人员来说,一个功能完善的后处理工具是他们进行数据分析和科学发现的关键支持。
【正文】 电脑主板型号修改软件v1.1是一款专门针对计算机主板信息进行调整的工具,主要功能在于修改主板的品牌、型号、序列号以及BIOS版本等信息。在IT行业中,这种软件的应用通常与硬件测试、系统优化或者修复某些特定问题有关。然而,需要注意的是,非法篡改这些信息可能涉及法律问题,因此在使用时应遵循合法合规的原则。 主板是计算机的核心部件,负责连接各个硬件组件并提供数据交换的平台。主板的品牌和型号决定了其兼容性和性能,而序列号则是主板的身份标识,用于区分每块主板的独特性。BIOS(基本输入输出系统)则是主板上的一段固件,负责引导操作系统启动和管理硬件资源。 该软件允许用户自定义这些信息,有以下几个可能的用途: 1. **硬件测试**:在开发或测试新硬件时,制造商可能需要模拟不同型的主板环境。通过修改主板信息,可以快速创建多种测试场景,以确保新硬件在各种配置下都能正常工作。 2. **系统优化**:某些应用程序或游戏可能会对特定主板型号有优化,修改主板信息可能有助于提升性能或解决兼容性问题。不过,这并不总是有效,也可能导致其他问题。 3. **故障排除**:在某些情况下,错误的主板信息可能导致驱动程序安装失败或系统运行异常。修改这些信息有时可以帮助诊断和解决问题。 4. **安全风险**:值得注意的是,非法修改主板信息也可能被用于欺骗目的,如逃避保修期限制或进行非法活动。因此,使用此软件需谨慎,并且要清楚可能带来的法律风险。 在使用"电脑主板型号修改软件v1.1.exe"前,用户应确保具备一定的电脑硬件知识,理解操作可能带来的后果。同时,备份重要的数据是必要的,因为不正确的修改可能会导致系统不稳定甚至无法启动。在执行修改前,了解主板的原始信息,并在必要时咨询专业人士的建议,是非常重要的。 这款软件为特定的IT任务提供了便利,但也提醒我们在使用时要遵守法律,尊重知识产权,并充分了解潜在风险。谨慎操作,合理利用,才能充分发挥这工具的效用,同时避免不必要的麻烦。

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧