פורסם 2013 בנובמבר 2912 שנים שלום לכולם,אני מנסה לבנות פונקציה לדיסקרמיננטה שאני מריץ את הדיבגינג אני כל הזמן מקבל את השגיאה: error C2440: '=' : cannot convert from 'float (__cdecl *)(int,int,int)' to 'float'1> There is no context in which this conversion is possibleהקוד שכתבתי:#include <iostream>#include <math.h>using namespace std;float discriminant(int a, int b, int c);void main(){ int x,y,z; float disc; cout<<"please enter 3 values for x, y and z\n"; cin>>x>>y>>z; disc=discriminant; cout<<"your result is...\n"<<discriminant;}float discriminant (int a, int b, int c){ float x; x = sqrt((float)b*b-4*a*c); return x;}אני רוצה פונקציה שתקבל 3 מספרים שלמים ותחזיר תוצאה עשרונית. מישהו יכול להסביר איפה טעיתי בתחביר?תודה מראש
פורסם 2013 בנובמבר 3012 שנים שלום וברוך הבא לפורום.תערוך בבקשה את ההודעה (לחץ על כפתור עריכה משמאל למעלה ואז על מצב מתקדם) ושים את הקוד בתוך טג קוד (כפתור עם ציור #) כדי שיהיה יותר קריא.הבעיה נובעת מהעובדה שלא הפעלת את הפונקציה discriminant איך שאמורים להפעיל פונקציה (עם סוגריים).חוץ מזה, שתי הערות:א. אל תשתמש ב-float, תשתמש במקומו ב-double. אין שום סיבה כיום להשתמש ב-float.ב. צריך לכתוב int main ולא void main, ובסוף הפונקציה main צריך לבוא return 0.אני מניח שאתה לומד מאיזשהו ספר לימוד ישן?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.