int GetStep(string text){
string Right;
int U = StringFind(text, "Step ");
int End, result;
if(U>=0){
U=U+5;
Right = StringSubstr(text, U);
End = StringFind(Right, ".");
result=int(MathRound(StringToDouble(StringSubstr(text, U, End-U))));
return(result);
}
return(0);
}
它与这个有什么不同呢?
int GetStep(string text){
string Right;
int U = StringFind(text, "Step ");
int End;
if(U>=0){
U=U+5;
Right = StringSubstr(text, U);
End = StringFind(Right, ".");
return(int(MathRound(StringToDouble(StringSubstr(text, U, End-U)))));
}
return(0);
}
我很困惑,请给我建议。
我创建了一个结构,用数据填充它,创建了一个结构数组。
我现在如何将一个数组传递给一个函数,但只针对结构中的一个元素 ??????????????
对开发者 的建议,如果可能的话,最好能对结构进行标准操作
不是这样的。
但像这样。
复制结构是过去的事情了。我很困惑,请给我建议。
我创建了一个结构,用数据填充它,创建了一个结构数组。
如何将一个数组传递给一个函数,但只针对结构中的一个元素 ??????????????
你不能。而且你也不需要这样做。
因为--谁能阻止求和函数只对该元素求和?
于是对代码进行了修正,使之成为 "合格的"。
只有像ArraySize() 这样的东西应该在现实中使用,而不是在OnStr()函数内部的for循环中使用10。而不是 "sum+=x[i].y "中的y,而是结构中定义的真实数据字段(例如a或b)。
给开发者的建议,如果可能的话,最好能对结构进行标准操作
不是这样的。
但像这样。
抄袭结构是过去的事了。在C++中,有这样一个东西。这就是所谓的 "运算符重载"。是程序员使用相应的函数定义了它应该如何工作。
但这个功能雷纳特说 "不"。运气不好,嗯?
我不能。也没有必要这样做。
因为谁能阻止你在求和函数中准确地求出那个元素?
所以代码被改成了 "kosher"。
在OnStr()函数内部的for循环中,只应使用类似ArraySize()的东西而不是10。而不是 "sum+=x[i].y "中的y,而是结构中定义的真实数据字段(例如a或b)。
像往常一样,当我举出例子时,观点就飞走了,但我并不惊讶,这可能是我的骨感语言。
而要点是这样的:写一个算术平均数的函数,然后只需向这个函数传递一个结构数组,就可以得到结构中每个成员 的算术平均数的结构。
举这个例子是为了简单起见,但可能不成功。但感谢你在原则上的澄清。
我想我们真的应该敲打一下开发者,让他们允许 "操作者重载"。
是的,我不得不写了一堆方法,只是为了加、乘、除这两个结构。
最令人讨厌的是,我们将不得不在其他结构上重新写一遍。
PS此外,方法给我们操作的结构类型是相同的,所以嵌套调用不起作用?
结果首先需要保存在一个临时结构中,然后传递给后续处理。
PPS虽然所有的参数都是恒定的,但没有可能改变不存在的变量。
PPPS 还有,对不起,结构是通过引用传递的,你怎么能引用一个不存在的结构(显然,该休息了)。
我很困惑,请给我建议。
我创建了一个结构,用数据填充它,创建了一个结构数组。
如何将一个数组传递给一个函数,但只针对结构中的一个元素 ??????????????
你不能。而且你也不需要这样做。
因为--谁能阻止求和函数只对该元素求和?
因此,代码被调整为 "kosher"。
只有像ArraySize()这样的东西才应该被实际使用,而不是在OnStr()里面的for循环中使用10。而不是 "sum+=x[i].y "中的y,而是结构中定义的真正的数据字段(例如,a或b)。
有两种方法(据我所知)。
1.传递数组本身,指定我们要处理的记录的索引作为附加参数。
在这种情况下,我们需要控制数组的维度,函数的声明会是这样的
2.传递二级数组的维度为一条记录,分别对函数结果的控制和处理的所有工作都在函数调用点举行。
然后,该函数声明将看起来像这样
错误的评论" 由于类型转换可能导致数据丢失"?(建设:305)
你需要明确地将结果转换为int类型。
PS
你可以在这里看到一个工作实例 -OrderSend()
但据我所知,这个警告原则上可以忽略......
如果返回有很多括号 - 它开始变得混乱!?
例如,这里是一个从 "klsfd Step 2 "这样的字符串中返回一个数字的函数。
它与这个有什么不同呢?
第二种情况会引起编译时的问题,但第一种情况不会。