我都查了2天了,还是不知道问题出在那??

ren20 2001-03-25 06:19:00
class CMaps : public CObject
{
public:
int GetPathNum() //得到数组指针的成员数量
{
if(m_PathArray)
return m_PathArray.GetSize();
else
return 0;
};

virtual void Serialize(CArchive& ar);

DECLARE_SERIAL(CMaps)

CMaps(UINT id,CString name,CString mComment="");
CMaps();
virtual ~CMaps();

CTypedPtrArray <CObArray,CPath*> m_PathArray;

};

如果getpathnum() 作成内联函数,如上,编译就出现:
error C2451: conditional expression of type 'class CTypedPtrArray<class CObArray,class CPath *>' is illegal
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

如果,不设为内联,就可以通过,这是为什么??
我简化了程序, cpath 也是一个类。

请帮助
...全文
242 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ren20 2001-03-25
  • 打赏
  • 举报
回复
to joke100:
请说的详细点!谢谢
ren20 2001-03-25
  • 打赏
  • 举报
回复
我已经把#include <afxtempl.h> 加入了
lms 2001-03-25
  • 打赏
  • 举报
回复
error C2451 是指该类型没有没有可以把该类型转化为bool型的算符
根据逻辑,直接返回m_PathArray.GetSize()就可以了,
类定义中是一CTypedPtrArray<class CObArray,class CPath *>类型的变量,不是指针
我想你可能原来想做== NULL or != NULL的测试吧
zero100 2001-03-25
  • 打赏
  • 举报
回复
将#include <afxtempl.h>放到头文件里面试试吧
panda_w 2001-03-25
  • 打赏
  • 举报
回复
通常出现这样的错误是因为没有包含#include <afxtempl.h>所致,不知道你的程序是不是因为这个原因
fd 2001-03-25
  • 打赏
  • 举报
回复
我用猜的,是不是变量引用的问题,你把那个函数放到 CTypedPtrArray<...后面试试
joke100 2001-03-25
  • 打赏
  • 举报
回复
m_PathArray是由模板类定义的。
原因要从模板类说起。。。

在C++编程思想一书中有这样的描述:
模板定义很特殊。由之处理的任何东西都意味着编译器在当时不为它分配存储空间,它一直处于等待状态直到被一个模板实例告知。
内联的时候就意味着m_PathArray没有被分配存储,所以不能用。。。


内容概要:本文围绕三相逆变器模型仿真及软开关技术展开研究,基于Simulink平台构建了完整的系统仿真模型,深入分析了三相逆变器的拓扑结构、工作原理与动态响应特性。研究重点聚焦于软开关技术(如零电压开关ZVS、零电流开关ZCS)在逆变器中的应用,通过仿真验证其在降低开关损耗、提高转换效率、减小电磁干扰等方面的显著优势。文章详细阐述了软开关的实现条件与控制策略设计,结合LCL滤波器优化与PWM调制技术,提升了系统整体性能。通过对电压、电流波形及功率因数等关键指标的仿真分析,验证了所提方案的有效性与可行性,为高性能逆变器的设计与优化提供了理论依据和技术支撑。; 适合人群:具备电力电子、电气工程及其自动化等相关专业背景,熟悉Simulink仿真环境,从事新能源发电、电力变换器设计、微电网控制或电能质量治理等领域研究的科研人员、工程技术人员及研究生。; 使用场景及目标:①用于高校电力电子课程教学与实验,辅助学生理解逆变器工作机理及软开关技术原理;②为工业界高效率逆变电源、光伏并网逆变器、储能变流器等产品的研发提供技术参考;③支持相关领域科研人员开展新型拓扑与先进控制算法的仿真验证与学术论文撰写。; 阅读建议:建议读者结合文中所述Simulink模型进行动手实践,重点关注软开关触发时序、谐振参数设计与系统稳定性之间的关系,同时可延伸学习死区效应补偿、锁相环控制、孤岛检测等相关技术以构建完整的逆变系统知识体系。
内容概要:本文围绕“计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度”展开研究,提了一种集成电转气(P2G)、碳捕集利用与封存(CCUS)以及垃圾焚烧发电技术的虚拟电厂协同优化调度模型。通过引入碳交易机制,构建以低碳经济为目标的综合能源系统优化框架,采用模型预测控制等先进算法实现多能互补与资源高效利用。研究提供了完整的Matlab仿真代码,涵盖系统建模、约束条件设定、目标函数构建及求解全过程,具备较高的科研参考价值与工程实践意义。; 适合人群:面向具备电力系统、能源系统或自动化等相关专业背景,熟悉Matlab编程环境,从事综合能源系统、低碳调度、虚拟电厂等领域科研工作的研究人员,尤其适用于研究生、高校教师及能源行业技术人员。; 使用场景及目标:①用于虚拟电厂、碳减排与多能协同调度等方向的学术研究与仿真验证;②支撑学位论文撰写、科技项目申报或高水平期刊投稿中的案例分析与算法对比;③掌握碳交易机制下电-气-废协同优化的技术路径与建模方法,提升复杂能源系统优化能力。; 阅读建议:建议结合碳交易政策背景与多能流耦合特性深入理解模型设计逻辑,重点关注Matlab代码中YALMIP工具包的应用与优化变量设置,配合网盘提供的完整资源进行代码调试与情景拓展,按文档结构循序渐进学习以构建系统化知识体系。

16,550

社区成员

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

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

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