函數返回數組

原创 2007年10月10日 08:31:00
{..............................................................................
  lxx_2007_09 當此Function修改后﹐下面几個程式必須重新編譯:
  熱軋
-業務管理-詢單系統-報價單維護;
  熱軋
-業務管理-訂單維護;
  冷精
-業務管理-訂單登錄;
  冷精
-成品管理-庫存維護;
  根據產品碼取得料號和相關信息;
...............................................................................}
Function Gvt_GetMatCode_GradeNO_Shape_Dia_PrdType_DJ_Tol_Max_Min()function Gvt_GetMatCode_GradeNO_Shape_Dia_PrdType_DJ_Tol_Max_Min(var DBName, PrdCode, TradeCode: string; Obj: TComponent): Variant;
var
  Lv_First,    
//產品碼第1碼
  Lv_TradeCode,
  Lv_GradeNo,
  Lv_Shape,
  Lv_Dia,
  Lv_FDia1, Lv_FDia2,
  Lv_Sixteenth,   
//產品碼第16碼
  Lv_LastFive: 
string;   //料號末5碼
  Lv_Mtrl_NinthTo12,  
//料號9-12碼
  Lv_Mtrl_NinthTo16,  
//料號9-16碼
  Lv_Mtrl_ThirteenthTo16: 
string;  //料號13-16碼
  Lv_ProductCode, Lv_MtrlCode,
  Lv_Thirteenth: 
string;  //產品碼第13碼
  Lv_PrdType, Lv_DJCode, Lv_TolLevel, Lv_SizeTolMax, Lv_SizeTolMin: 
string;
  Lv_Query: TQuery;
  Lv_AReturn: Variant;
  Lv_i: 
Integer;
label
  Ll_GoTo;
begin
  Lv_ProductCode :
= PrdCode;
  Lv_AReturn :
= VarArrayCreate([08], varVariant);
  
for Lv_i := 0 to 8 do
      Lv_AReturn[Lv_i] :
= '';
  if Length(Lv_ProductCode) = 0 then
  begin
    Result :
= Lv_AReturn;
    
Exit;
  
end
  
else if Length(Lv_ProductCode) <> 17 then
  begin
    ShowMessage(
'請輸入正確的產品碼(17碼!)');
    if (Obj is TEdit) or (Obj is TDBEdit) then
      TPanel(Obj).SetFocus;
    Result :
= Lv_AReturn;
    Abort;
  
end;
  Lv_PrdType :
= '';
  Lv_DJCode := '';
  Lv_TolLevel := '';
  Lv_SizeTolMax := '';
  Lv_SizeTolMin := '';
  Lv_FDia1 := '0';
  Lv_FDia2 := '0';
  Lv_First := Copy(Lv_ProductCode, 11);
  Lv_TradeCode :
= TradeCode;
  Lv_GradeNO :
= Copy(Lv_ProductCode, 25);
  Lv_Shape :
= Copy(Lv_ProductCode, 71);
  Lv_Dia :
= Copy(Lv_ProductCode, 85);
  Lv_Thirteenth :
= Copy(Lv_ProductCode, 131);
  Lv_Sixteenth :
= Copy(Lv_ProductCode, 161);

  
//產品碼第1碼,取料號後5碼
  
if (Lv_First <> 'R') and (Lv_First <> 'S') and (Lv_First <> 'D') and (Lv_First <> 'T')
    and (Lv_First <> 'B') and (Lv_First <> 'C') and (Lv_First <> 'E') and (Lv_First <> 'I')
    and (Lv_First <> 'G') and (Lv_First <> '0') then
  begin
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第1碼' + Lv_First + '有誤!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end;
  Lv_Query :
= TQuery.Create(nil);
  Lv_Query.DatabaseName :
= DBName;

  
// 優先查詢異常料號
  
with Lv_Query do
  begin
    Close;
    Sql.Text :
= 'select * from PrdToMat_YiChang where prd_code=''' + Lv_ProductCode + ''' and trade_way=''' + Lv_TradeCode + ''' ';
    Open;
    
if not IsEmpty then
    begin
      Lv_MtrlCode :
= FieldByName('MAT_CODE').AsString;
      goto Ll_GoTo;
    
end;
  
end;

  
// 2007-09-11_Modify_Start
  
if Lv_Shape='F' then  // 如果是扁鋼﹐取得料號9-16碼
  begin
    
with Lv_Query do
    begin
      Close;
      Sql.Text :
= 'select * from pdm045m@DBPH where plate_size_code='''+Lv_Dia+''' ';
      Open;
      
if IsEmpty then
      begin
        ShowMessage(
'扁鋼尺寸不存在(PDM045M)!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end
      
else
      begin
        Lv_FDia1 :
= FieldByName('PLATE_SIZE_1').AsString;
        Lv_FDia2 := FieldByName('PLATE_SIZE_2').AsString;
        Lv_Mtrl_NinthTo12 := FloatToStr(Trunc(StrToFloat(Copy(Lv_FDia1,1,4))) * 10);
        Lv_Mtrl_ThirteenthTo16 :
= FloatToStr(Trunc(StrToFloat(Copy(Lv_FDia2,1,4))) * 10);
        
if (Length(Lv_Mtrl_NinthTo12) > 4or (Length(Lv_Mtrl_ThirteenthTo16) > 4then
        begin
          ShowMessage(
'扁鋼尺寸有誤(PDM045M)!');
          if (Obj is TEdit) or (Obj is TDBEdit) then
            TPanel(Obj).SetFocus;
          Abort;
        
end;
        
if Length(Lv_Mtrl_NinthTo12) = 3 then
          Lv_Mtrl_NinthTo12 :
= '0' + Lv_Mtrl_NinthTo12
        else if Length(Lv_Mtrl_NinthTo12) = 2 then
          Lv_Mtrl_NinthTo12 :
= '00' + Lv_Mtrl_NinthTo12
        else if Length(Lv_Mtrl_NinthTo12) = 1 then
          Lv_Mtrl_NinthTo12 :
= '000' + Lv_Mtrl_NinthTo12;

        
if Length(Lv_Mtrl_ThirteenthTo16) = 3 then
          Lv_Mtrl_ThirteenthTo16 :
= '0' + Lv_Mtrl_ThirteenthTo16
        else if Length(Lv_Mtrl_ThirteenthTo16) = 2 then
          Lv_Mtrl_ThirteenthTo16 :
= '00' + Lv_Mtrl_ThirteenthTo16
        else if Length(Lv_Mtrl_ThirteenthTo16) = 1 then
          Lv_Mtrl_ThirteenthTo16 :
= '000' + Lv_Mtrl_ThirteenthTo16;

        Lv_Mtrl_NinthTo16 :
= Lv_Mtrl_NinthTo12 + Lv_Mtrl_ThirteenthTo16;
      
end;
    
end;
  
end;
  
// 2007-09-11_Modify_End

  
if (Lv_First = 'R') and (Lv_Sixteenth <> 'B') then    //  Lv_First 產品碼第一碼   //成品
  begin
    
if (Lv_Sixteenth = 'Q') or (Lv_Sixteenth = 'A') or (Lv_Sixteenth = 'E') then
      Lv_LastFive := '0000R'
    else if Lv_Sixteenth = 'K' then
      Lv_LastFive := '00001'
    else if Lv_Sixteenth = 'G' then
      Lv_LastFive := '0000S'
    else if Lv_Sixteenth = 'N' then
      Lv_LastFive := '0000P'
    else if Lv_Sixteenth = 'P' then
      Lv_LastFive := '0000Q'
    else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '與第1碼' + Lv_First + '不匹配!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end
  
else if Lv_First = 'S' then    //成品
  begin
    
if (Lv_Sixteenth = 'F') or (Lv_Sixteenth = 'D') then
      Lv_LastFive := '0000E'
    else if Lv_Sixteenth = 'H' then
      Lv_LastFive := '000RT'
    else if Lv_Sixteenth = 'J' then
      Lv_LastFive := '000E1'
    else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '與第1碼' + Lv_First + '不匹配!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end
  
else if Lv_First = 'D' then    //成品
  begin
    
if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W'))
      and (Lv_Shape = 'R') then
    begin
      
if (StrToFloat(Lv_Dia) / 100 <= 32then
        Lv_LastFive :
= '0000D'
      else
        Lv_LastFive :
= '000T2';
    end
    
else if Lv_Sixteenth = 'T' then
      Lv_LastFive := '0000D'
    else if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W'))
      and ((Lv_Shape = 'H') or (Lv_Shape = 'S')) then
      Lv_LastFive := '000D1'
    else if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W')) and ((Lv_Shape <> 'R') and (Lv_Shape <> 'H') and (Lv_Shape <> 'S')) then
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第7碼' + Lv_Shape + '有誤!若第16碼為R,U,V或W, 則第16碼只能為R,H或S!');
      Abort;
    
end
    
else if Lv_Sixteenth = 'L' then
      Lv_LastFive := '000G1'
    else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '與第1碼' + Lv_First + '不匹配!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end
  
else if (Lv_First = 'C') and (Lv_Sixteenth <> 'C')then  //成品
  begin
    
if Lv_Sixteenth = 'R' then
      Lv_LastFive := '0000D'
    else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '與第1碼' + Lv_First + '不匹配!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end
  
else if Lv_First = 'T' then     //成品
  begin
    
if (Lv_Sixteenth = 'Q') or (Lv_Sixteenth = 'A') or (Lv_Sixteenth = 'E') then
      Lv_LastFive := '00E0R'
    else if Lv_Sixteenth = 'K' then
      Lv_LastFive := '00E01'
    else if Lv_Sixteenth = 'G' then
      Lv_LastFive := '00E0S'
    else if Lv_Sixteenth = 'N' then
      Lv_LastFive := '00E0P'
    else if Lv_Sixteenth = 'P' then
      Lv_LastFive := '00E0Q'
    else if (Lv_Sixteenth = 'F') or (Lv_Sixteenth = 'D') then
      Lv_LastFive := '00E0E'
    else if Lv_Sixteenth = 'H' then
      Lv_LastFive := '00ERT'
    else if Lv_Sixteenth = 'J' then
      Lv_LastFive := '00EE1'
    else if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W')) and (Lv_Shape = 'R') then
    begin
      
if (StrToFloat(Lv_Dia) / 100 <= 32then
        Lv_LastFive :
= '00E0D'
      else
        Lv_LastFive :
= '00ET2';
    end
    
else if Lv_Sixteenth = 'T' then
      Lv_LastFive := '00E0D'
    else if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W')) and ((Lv_Shape = 'H') or (Lv_Shape = 'S')) then
      Lv_LastFive := '00ED1'
    else if Lv_Sixteenth = 'L' then
      Lv_LastFive := '00EG1'
    else if ((Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W')) and ((Lv_Shape <> 'R') and (Lv_Shape <> 'H') and (Lv_Shape <> 'S')) then
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第7碼' + Lv_Shape + '有誤!若第16碼為R,U,V或W, 則第16碼只能為R,H或S!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end
    
else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '有誤!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;

    
if (Lv_Sixteenth = 'Q') or (Lv_Sixteenth = 'A') or (Lv_Sixteenth = 'E') or (Lv_Sixteenth = 'K')
      or (Lv_Sixteenth = 'G') or (Lv_Sixteenth = 'N') or (Lv_Sixteenth = 'P') then
    begin
      Lv_First :
= 'R';   //料號第一碼
    end
    
else if (Lv_Sixteenth = 'F') or (Lv_Sixteenth = 'D') or (Lv_Sixteenth = 'H') or (Lv_Sixteenth = 'J') then
    begin
      Lv_First :
= 'S';   //料號第一碼
    end
    
else if (Lv_Sixteenth = 'R') or (Lv_Sixteenth = 'U') or (Lv_Sixteenth = 'V') or (Lv_Sixteenth = 'W')
      or (Lv_Sixteenth = 'T') or (Lv_Sixteenth = 'L') then
    begin
      Lv_First :
= 'D';   //料號第一碼
    end
    
else
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼第16碼' + Lv_Sixteenth + '有誤!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end
  
else if (Lv_First = 'B') or (Lv_First = 'E') or (Lv_First = 'I') or ((Lv_First = 'C') and (Lv_Sixteenth = 'C')) or ((Lv_First = 'R') and (Lv_Sixteenth = 'B')) then    //原料
    with Lv_Query do
    begin
      Close;
      Sql.Text :
= 'select * from PrdToMat where PRD_CODE_1=''' + Lv_First + ''' ' +
        'and PRD_CODE_L2=''' + Copy(Lv_ProductCode, 16, 2) + ''' ' +
        'and TRADE_MODE_CODE=''' + Lv_TradeCode + ''' ';
      Open;
      
if not IsEmpty then
      begin
        Lv_LastFive :
= '000' + FieldByName('MAT_CODE_L2').AsString;
        Lv_PrdType := FieldByName('PRD_TYPE_CODE').AsString;
      end
      
else
      begin
        ShowMessage(
'產品碼輸入有誤(Table PrdToMat無對應資料)!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end;
    
end
  
else if (Lv_First = 'G') or (Lv_First = '0') then    //改制品﹑廢品
  begin
    Lv_MtrlCode :
= Lv_First + Lv_TradeCode + Copy(Lv_ProductCode, 216);
    
goto Ll_GoTo;
  
end
  
else
  begin
    ShowMessage(
'產品碼第一碼有誤!');
    if (Obj is TEdit) or (Obj is TDBEdit) then
      TPanel(Obj).SetFocus;
    Abort;
  
end;

  Lv_MtrlCode :
= Lv_First + Lv_TradeCode + Lv_GradeNO + Lv_Shape + Lv_Dia + Lv_LastFive;  //  Lv_First 料號第1碼

  
// 2007-09-11_Modify_Start
  
if Lv_Shape='F' then
  begin

    Lv_MtrlCode :
= Copy(Lv_MtrlCode,1,8+ Lv_Mtrl_NinthTo16 + Copy(Lv_LastFive,4,5);

    
if Copy(Lv_ProductCode,1,1)='T' then
      Lv_MtrlCode := Copy(Lv_MtrlCode,1,15+ Copy(Lv_LastFive,3,5);

  
end;
  
// 2007-09-11_Modify_End

  Ll_GoTo:

  
//檢驗產品碼, 取倒角
  
with Lv_Query do
  begin
    Close;
    Sql.Text :
= 'select * from pdm105m@DBPH where prd_code=''' + Lv_ProductCode + ''' ';
    Open;
    
if IsEmpty then
    begin
      ShowMessage(Lv_ProductCode 
+ '產品碼不存在. 請重新輸入!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end
    
else
    begin
      
if FieldByName('STATE_CODE').AsString <> '40' then
      begin
        ShowMessage(Lv_ProductCode 
+ '產品碼未核准!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end;
      
if FieldByName('EXPIRE_YN').AsString = 'Y' then
      begin
        ShowMessage(Lv_ProductCode 
+ '產品碼已過期. 請重新輸入!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end;
      Lv_DJCode :
= FieldByName('DJ_CODE').AsString;
      if Lv_DJCode = '' then
        Lv_DJCode := 'N';
    end;
  
end;

  
//檢驗料號
  
with Lv_Query do
  begin
    Close;
    Sql.Text :
= 'select * from pdm081m@DBPH where mat_code=''' + Lv_MtrlCode + ''' ';
    Open;
    
if IsEmpty then
    begin
      ShowMessage(Lv_MtrlCode 
+ '料號不存在,或未從SAP下載!');
      if (Obj is TEdit) or (Obj is TDBEdit) then
        TPanel(Obj).SetFocus;
      Abort;
    
end;
  
end;

  
//產品碼第16碼, 取產品型態(成品); 此處 Lv_First 是產品碼第1碼
  
if (Lv_First <> 'B') and (Lv_First <> 'I') and (Lv_First <> 'E')
    and not ((Lv_First = 'C') and (Lv_Sixteenth = 'C')) and not ((Lv_First = 'R') and (Lv_Sixteenth = 'B'))
    and (Lv_First <> 'G') and (Lv_First <> '0') then
  begin
    
with Lv_Query do
    begin
      Close;
      Sql.Text :
= 'select * from pdm008m@DBPH where prd_type_code=''' + Lv_Sixteenth + ''' ';
      Open;
      
if IsEmpty then
      begin
        ShowMessage(Lv_ProductCode 
+ '第16碼' + Lv_Sixteenth + '產品型態不存在!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end
      
else
      begin
        
if FieldByName('STATE_CODE').AsString <> '40' then
        begin
          ShowMessage(Lv_ProductCode 
+ '第16碼' + Lv_Sixteenth + '產品型態未核准!');
          if (Obj is TEdit) or (Obj is TDBEdit) then
            TPanel(Obj).SetFocus;
          Abort;
        
end;
        
if FieldByName('EXPIRE_YN').AsString = 'Y' then
        begin
          ShowMessage(Lv_ProductCode 
+ '第16碼' + Lv_Sixteenth + '產品型態已過期!');
          if (Obj is TEdit) or (Obj is TDBEdit) then
            TPanel(Obj).SetFocus;
          Abort;
        
end;
      
end;
      Lv_PrdType :
= FieldByName('PRD_TYPE_DESC1').AsString;
    end;

    
//產品碼13碼,取公差等級,成品尺寸公差上下限
    
with Lv_Query do
    begin
      Close;
      Sql.Text :
= 'select b.tol_grade,b.state_code,b.expire_yn,a.size_tol_min,a.size_tol_max ' +
                  'from pdm043m@DBPH a, pdm005m@DBPH b ' +
                  'where a.tol_level=b.tol_grade ' +
                  '  and b.tol_surface_code=''' + Lv_Thirteenth + ''' ' +
                  '  and a.size_min<=to_number(''' + FloatToStr(StrToFloat(Lv_Dia) / 100) + ''') ' +
                  '  and a.size_max>=to_number(''' + FloatToStr(StrToFloat(Lv_Dia) / 100) + ''') ';
      Open;
      
if IsEmpty then
      begin
        ShowMessage(Lv_ProductCode 
+ '產品碼第13碼' + Lv_Thirteenth + '對應的公差等級不存在,請通知相關人員先維護公差等級!');
        if (Obj is TEdit) or (Obj is TDBEdit) then
          TPanel(Obj).SetFocus;
        Abort;
      
end
      
else
      begin
        
if FieldByName('EXPIRE_YN').AsString = 'Y' then
        begin
          ShowMessage(Lv_ProductCode 
+ '產品碼第13碼' + Lv_Thirteenth + '對應的公差等級已過期!');
          if (Obj is TEdit) or (Obj is TDBEdit) then
            TPanel(Obj).SetFocus;
          Abort;
        
end;
        
if FieldByName('STATE_CODE').AsString <> '40' then
        begin
          ShowMessage(Lv_ProductCode 
+ '產品碼第13碼' + Lv_Thirteenth + '對應的公差等級未經核准,請通知相關人員核准!');
          if (Obj is TEdit) or (Obj is TDBEdit) then
            TPanel(Obj).SetFocus;
          Abort;
        
end;
        Lv_TolLevel :
= FieldByName('TOL_GRADE').AsString;
        Lv_SizeTolMax := FieldByName('SIZE_TOL_MAX').AsString;
        Lv_SizeTolMin := FieldByName('SIZE_TOL_MIN').AsString;
      end;
    
end;
  
end;

  Lv_AReturn[
0] := Lv_MtrlCode;
  Lv_AReturn[
1] := Lv_GradeNO;
  Lv_AReturn[
2] := Lv_Shape;
  
if Lv_Shape='F' then
    Lv_AReturn[3] := Lv_FDia1+'*'+Lv_FDia2
  else
    Lv_AReturn[
3] := Lv_Dia;
  Lv_AReturn[
4] := Lv_PrdType;
  Lv_AReturn[
5] := Lv_DJCode;
  Lv_AReturn[
6] := Lv_TolLevel;
  Lv_AReturn[
7] := Lv_SizeTolMax;
  Lv_AReturn[
8] := Lv_SizeTolMin;

  Result :
= Lv_AReturn;

end;
 

Jedis存储Java对象 - (Java序列化为byte数组方式)

在Jedis开发中,我们很多时候希望直接把一个对象放到Redis中,然后在需要的时候取出来。Redis的key和value都支持二进制安全的字符串,存储Java对象不是问题,下面我们看一下如何来实现。...
  • owen5630
  • owen5630
  • 2015年01月27日 14:51
  • 1568

百度面试题:求一个已排序的数组中绝对值最小的元素

题目为: 有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),可以使用任何语言实现 例如,数组{-...
  • longshengguoji
  • longshengguoji
  • 2013年01月29日 22:57
  • 4600

PL/SQL 集合 -- 关联数组

-- Start 关联数组(Associative Array)其实就是一个 MAP,键的类型可以是 VARCHAR2, VARCHAR, STRING, LONG 或 PLS_INTEGER。 D...
  • shangboerds
  • shangboerds
  • 2015年01月03日 17:51
  • 1103

c/c++函数返回局部变量数组

在c/c++中,是不应该返回局部变量数组的 这是因为在函数中,局部变量是存储在栈内存中的,而函数的返回是值拷贝 因此数组返回实际是返回指向栈内存中这个原数组的首地址,但是函数结束后 该内存是会被...
  • qq_16097611
  • qq_16097611
  • 2016年07月13日 11:24
  • 752

函数返回数组

函数是不能返回数组的,因此很直接的就想到的是返回指针,指针的声明位置也要注意,防止在子函数中内存释放掉了,因此用NEW进行动态分配内存,最后注意内存的释放(数组的释放与动态分配的变量的释放方式还有所不...
  • qq_23536063
  • qq_23536063
  • 2016年09月09日 22:28
  • 149

c++ 函数返回数组

以下转自:http://blog.csdn.net/lijiayu2015/article/details/52821562 C++中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函...
  • u013912006
  • u013912006
  • 2018年01月04日 11:12
  • 25

在C中如何使函数返回数组

在C中如何使函数返回数组   2009-10-30 21:57:21|  分类: 程序空间|字号 订阅 Java语言的函数可以轻易的返回一个数组,而C/C++却...
  • xuehanjiang
  • xuehanjiang
  • 2013年04月11日 18:20
  • 456

const成员函数返回数组名

例1: #include using namespace std; struct str { string a; string b; }; class B { private: int...
  • generalhking
  • generalhking
  • 2012年10月12日 17:08
  • 1032

在C中如何使函数返回数组

 Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。    在C/C++中,一般有两种方法来返回一个数组。第一...
  • xiancaifu
  • xiancaifu
  • 2011年03月12日 18:03
  • 425

在C/C++中如何使函数返回数组

转自:http://blog.163.com/guan123long@126/blog/static/131337312200993095721539/ Java语言的函数可以轻易的返回一个数组...
  • xxradon
  • xxradon
  • 2015年01月10日 10:56
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:函數返回數組
举报原因:
原因补充:

(最多只允许输入30个字)