Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Estoy confundido, por favor aconséjeme.
He creado una estructura, la he llenado de datos y he creado una matriz de estructuras.
¿Cómo puedo ahora pasar una matriz a una función, pero sólo en un elemento de la estructura ??????????????
Sugerencia a los desarrolladores, si es posible sería bueno realizar operaciones estándar con estructuras
no así:
sino así:
Copiar estructuras es cosa del pasado.Estoy confundido, por favor aconséjeme.
He creado una estructura, la he llenado de datos y he creado una matriz de estructuras.
Cómo pasar un array a una función, pero sólo para un elemento de la estructura ??????????????
No se puede. Y no es necesario.
Porque -¿quién impide que la función sumadora sume sólo ese elemento?
Y así se corrigió el código para hacerlo "kosher":
Sólo se debería usar algo como ArraySize() en realidad en lugar de 10 en el bucle for dentro de la función OnStr(). Y en lugar de y en "sum+=x[i].y" sumar el campo de datos real definido en la estructura (a o b, por ejemplo).
Sugerencia a los desarrolladores, si es posible sería bueno realizar operaciones estándar con estructuras
no así:
sino así:
La copia de estructuras es cosa del pasado.En C++ existe algo así. Se llama "sobrecarga de operadores". Es el programador quien define cómo debe funcionar utilizando la función correspondiente.
Pero esta función Renat dijo "no". Mala suerte, ¿eh?
No puedo. Y no es necesario.
Porque ¿quién le impide sumar exactamente ese elemento en la función de suma?
Así que el código fue corregido a "kosher":
Sólo se debería utilizar algo como ArraySize() en lugar de 10 en el bucle for dentro de la función OnStr(). Y en lugar de y en "sum+=x[i].y" sumar el campo de datos real definido en la estructura (a o b, por ejemplo).
Como siempre que pongo ejemplos el punto voló, pero no me sorprende que sea por mi lenguaje de huesos.
Y la esencia es esta: escribir una función de media aritmética y luego, simplemente pasando un array de estructuras a esta función, obtener la estructura de la media aritmética para cada uno de los miembros de la estructura.
El ejemplo se da para simplificar, pero probablemente no tenga éxito. Pero gracias por las aclaraciones en principio.
Supongo que deberíamos presionar a los desarrolladores para que permitan la "sobrecarga de operadores".
Sí, tuve que escribir un montón de métodos sólo para sumar, multiplicar, dividir, dos estructuras,
lo más molesto es que tendremos que volver a escribirlo en otras estructuras.
PD Además los métodos dan tipo de estructura los que en retorno la misma estructura con la que operamos por lo que la llamada anidada no pasa ???
el resultado debe guardarse primero en una estructura temporal y luego pasar al procesamiento posterior... no está claro por qué se hace así.
PPS Aunque todos los parámetros son constantes no hay posibilidad de cambiar una variable no existente.
PPPS Y perdón, las estructuras se pasan por referencia, cómo se puede hacer referencia a una estructura inexistente (por lo visto, toca descansar).
Estoy confundido, por favor aconséjeme.
He creado una estructura, la he llenado de datos y he creado una matriz de estructuras.
Cómo pasar un array a una función, pero sólo para un elemento de la estructura ??????????????
No se puede. Y no es necesario.
Porque -¿quién impide que la función sumadora sume sólo ese elemento?
Por lo tanto, el código se ajusta a "kosher":
Sólo algo como ArraySize() debería usarse realmente, no 10 en el bucle for dentro de OnStr(). Y en lugar de y en "sum+=x[i].y" sumar el campo de datos real definido en la estructura (a o b, por ejemplo).
Hay dos formas (según tengo entendido):
1. Pasa el propio array, especificando el índice del registro con el que vamos a trabajar como parámetro adicional.
En este caso, necesitamos controlar la dimensionalidad del array, y la declaración de la función sería algo así...
2. Pasar la matriz secundaria con la dimensión de un registro, respectivamente todo el trabajo de control y procesamiento de los resultados de la función se lleva a cabo en el punto de llamada de la función.
La declaración de la función tendrá entonces un aspecto similar al siguiente
Observación errónea"posible pérdida de datos debido a la conversión de tipos"? (Construcción: 305)
Es necesario convertir explícitamente el resultado al tipo int.
PS
Puede ver un ejemplo de funcionamiento aquí - OrderSend()
Pero según tengo entendido, esta advertencia puede ser ignorada en principio...
Si la devolución tiene muchos paréntesis - ¡se empieza a confundir!?
Aquí, por ejemplo, hay una función que devuelve un número a partir de una cadena como "klsfd Paso 2":
¿En qué se diferencia de ésta?
El segundo causará problemas de compilación, pero el primero no.