[C con Clase] Problema con puntero this.
Programante
programante en gmail.com
Dom Nov 7 00:28:28 CET 2010
El 06/11/10 12:09, Segundo Álvarez escribió:
> El problema es con el uso de this y no es el primero que me da
> problemas. El problema lógicamente tiene solución por otro lado pero
> la pregunta es un reto para los "freaks" ya que no hay una expresión
> tan elegante y corta como
>
> [CENTER][B] return sqrt(mult(this));[/B][/CENTER]
>
> y me gustaría saber porqué no funciona (probablemente funcione sin
> problema en Java).
No indicas cuál es el problema.
He probado a hacer una mini implementación, usando std::vector y compila
sin problemas:
#include <cmath>
#include <vector>
using namespace std;
class ap_vector : private std::vector<float> {
float mult(const ap_vector& data) //multiplica escalarmente con el
vector devolviendo el resultado y null si
//tienen distinta dimensión
{
float result;
if (data.size() != size())
{
return 0; //devuelve null si no coinciden las dimensiones
}
else
{
int k;
for(k=0;k<size();k++){result+=(*this)[k]*data[k];}
return result;
}
}
float dist(void) //devuelve la distancia euclidea del vector.
{
return sqrt(mult(*this)); //también intenté con this sólo.
}
};
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20101107/27e2b273/attachment.html>
Más información sobre la lista de distribución Cconclase