I am creating a new abstract class in C++/CLI and have run into a strange error. There are many questions similar to this one but none of the answers could help me.

In this new class, I get the following error:

```
error LNK2020: unresolved token (06000002) Foo::execute

```

This is the h-file:

```
#pragma once
using namespace System::IO::Ports;
using namespace System;

public ref class Foo
{
protected:
    SerialPort^ port;
public:
    Foo(SerialPort^ sp);
    virtual array<Byte>^ execute();
};

```

This is the cpp-file:

```
#include "StdAfx.h"
#include "Foo.h"

Foo::Foo(SerialPort^ sp)
{
    this->port = sp;
}

```

Note that when I comment out the `virtual array<Byte>^ execute();` line, everything compiles perfectly. Also, when I remove the `virtual` modifier and add an implementation of `execute()` in the cpp-file, it works as well.