1

.dll ライブラリを OOP 方式で実装しています

私のマクロは次のとおりです。

#ifndef _SWC_
#define DLLINTERFACE  __declspec(dllexport)
#else
#define DLLINTERFACE __declspec(dllimport)

DLLINTERFACEいくつかの s を使用してクラス名の前に置いた後、コンパイラーは、sで使用する各関数に対して を std提供する必要があるといういくつかの警告を表示します。いくつかの関数を配置してこれを解決しようとしましたが、クラス名に既に配置しているため、エラーが発生します。おそらく、すべてのパブリック関数を警告で定義することにより、警告を削除できます。しかし、個々の関数ではなく、クラス名のみを定義することで警告をなくすにはどうすればよいでしょうか?dll-interfacestdDLLINTERFACEDLLINTERFACE

このような:

class DLLINTERFACE Foo
{
 public:
    std::string bar();
};

しかし、これではありません:

class Foo
{
 public:
    std::string DLLINTERFACE bar();
};
4

0 に答える 0