這裏是一個除了我的代碼空指針轉換錯誤
poly.h
#include "gf.h"
typedef struct polynome {
int deg, size;
gf_t * coeff;
} * poly_t; /* polynomial has coefficients in the finite field */
class Polinomio{
public:
int poly_degppf(poly_t g);
poly.cpp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "gf.h"
#include "poly.h"
Polinomio::Polinomio(int n){
printf("Hola como estas");
}
int Polinomio::poly_degppf(poly_t g) {
int i, d, res;
poly_t *u;
d = poly_deg(g);
u = malloc(d * sizeof (poly_t*));
爲什麼我得到這個錯誤?
poly.cpp: In member function ‘int Polinomio::poly_degppf(polynome*)’:
poly.cpp:261: error: invalid conversion from ‘void*’ to ‘polynome**’
它看起來像你錯過了你的頭文件的下半部分。 –
malloc需要投? –
這個問題與'#define'有什麼關係? –