接口未实现错误(缺少Error方法)

I'm writing image converter program with Golang. Here's one of my file.

package main

import (
    "image"
    "image/gif"
    "image/jpeg"
    "image/png"
    "io"
)

type Converter interface {
    convimg(io.Writer) error
}

type jpgConverter struct {
    img image.Image
}

type pngConverter struct {
    img image.Image
}

type gifConverter struct {
    img image.Image
}

func convert(c Converter) error {
    return c.convimg  //compile error
}

func (c jpgConverter) convimg(dist io.Writer) error {
    return jpeg.Encode(dist, c.img, nil)
}

func (c pngConverter) convimg(dist io.Writer) error {
    return png.Encode(dist, c.img)
}

func (c gifConverter) convimg(dist io.Writer) error {
    return gif.Encode(dist, c.img, nil)
}

I use interface for duck typing so that I can use one same method for any type conversion.
But a compile error occurred in convert method, and the error message says cannot use c.convimg (type func(io.Writer) error) as type error in return argument: func(io.Writer) error does not implement error (missing Error method).
I define error as return type in the interface, but Where's the wrong point?

As the comments above, return c.convimg returns a function. I should write it like:

func convert(c Converter, w io.Writer) error
    return c.convimg(w)