error C2064: Ausdruck ergibt keine Funktion



  • hi! mein code:

    int d2i(double d)
    {
      return (int) (d<0?d-.5:d+.5);
    }
    
    [b]int spitze(int x)
    {
    	int r = 100;
    	int m = 2;
    	int ret;
    	if(x <= r){ ret = d2i(m*x + 200);}
    	else{ ret = d2i((-1)*m*x + 400);}
    	return ret;
    }[/b]
    
    void CLichtleiterDlg::OnSelchangeSpitze() 
    {
    	UpdateData(TRUE);
    	CString spitze = m_spitze;
    	spitze.MakeUpper();
    
    	if(spitze == "PARABEL") 
    	{
    //bla
    	}
    	else if (spitze == "KREIS") 
    	{
    //bla
    	}
    	else if (spitze == "SPITZE") 
    	{
    		CClientDC dc(this);
    		CPen *oldpen = NULL;
    		CPen RedPen(PS_SOLID,1,RGB(0,0,0));
    		oldpen = dc.SelectObject(&RedPen);
    		int x = -98;
    		while(x < 100)
    		{
    
    			[b]dc.SetPixel(koords(x,spitze(x)), RGB(0,0,0));[/b]
    			//dc.MoveTo(koords(x-1,spitze(x-1)));
    			//dc.LineTo(koords(x,spitze(x)));
    			x++;
    		}
    	}
    	else 
    	{
    		MessageBox("fehler");	
    		m_spitze = "Parabel";
    		UpdateData(FALSE);
    	}
    
    }
    

    wenn ich das kompilieren will kommt immer der fehler
    error C2064: Ausdruck ergibt keine Funktion
    weiß jemand warum? irgendwie lässt sich die funktion spitze() nicht aufrufen, auch wenn ich mal mach int abc = spitze(5); kommt dieser fehler...
    Danke schonmal, Misc2



  • Du hast eine lokale Variable 'CString spitze = m_spitze;' definiert, die deine globale Funktion verdeckt - wenn du diese weglässt oder umbenennst, sollte es wieder funktionieren.



  • Du hast einen CString mit Namen spitze, daher gibts da ne Doppeldeutigkeit.



  • bin ich blöd ^^
    danke!!


Anmelden zum Antworten