zoukankan      html  css  js  c++  java
  • 表变量作为返回值

    表变量和类最大的区别是表变量中的字段是public类型的,而类的成员变量是protected,并且两者的访问级别都是不可更改的,只能用默认的访问级别。
    刚刚在写代码的时候遇到了一个问题,如下代码所示:

    static void ReturnValueTest(Args _args)
    {
        ;
        CustTable::find(
    '4001').AccountNum = '4002';
    }

    编译该代码得到报错信息:
    *** 错误: 31,字段必须是允许赋值的数据元素。
    也就是说这样赋值是不行的,该函数返回的是一个表变量,我们知道表变量中的字段是public类型的,但通过CustTable::finde('4001')返回的值是只读的,也就是说通过方法返回的表变量是一个常量指针,那如何是好那?X++中一般的做法如下:

    static void ReturnValueTest(Args _args)
    {
        CustTable custTable;
        ;
        custTable 
    = CustTable::find('4001');
        custTable.AccountNum 
    = '4002';
    }
    如果说返回一个常量指针是怕函数返回的对象被客户端代码修改,但在X++里这个常量指针又可以赋值给一般的(非常量)指针,从而修改原有的对象,何必绕这个弯那?
  • 相关阅读:
    TCL 双引号和花括号的区别
    在Vivado中调用ModelSim生成FSM的状态转移图
    基于配置文件的方式来配置AOP
    Spring MVC_Hello World
    重用切点表达式
    Spring MVC概述(2)
    Shiro_DelegatingFilterProxy
    Shiro-工作流程
    切面的优先级
    Shiro-集成Spring
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/806992.html
Copyright © 2011-2022 走看看