-1

我正在尝试在 Visual C++ 2010 中创建一个具有多个函数的 dll,并且我不断收到与使用字符串相关的语法错误,或者看起来如此。

1>c:\users\new\documents\visual studio 2010\projects\getint\getint\getint.h(9): error C2061: syntax error : identifier 'string'

代码如下所示。我确实遵循了我上次所做的事情;尽管我制作的最后一个 dll 有 1 个函数并且没有布尔值或字符串值。

#include <string>

class getInt
{
public:
    //NB :: static __declspec(dllexport) is need to export data from the dll!

    //This declares the function for retrieving an integer value from the user
    static __declspec(dllexport) int toInt (const string &inStr);
    static __declspec(dllexport) int getNum();
    static __declspec(dllexport) bool isValidInt (const string& str);
};

还有其他几个语法错误,但我相信它们是由于字符串在其他函数之前而出现的。

4

2 回答 2

1

全局范围内没有string类,只有std命名空间中的类。因此,将函数更改为接受std::strings。

#include <string>

class getInt
{
public:
    //NB :: static __declspec(dllexport) is need to export data from the dll!

    //This declares the function for retrieving an integer value from the user
    static __declspec(dllexport) int toInt (const std::string &inStr);
    static __declspec(dllexport) int getNum();
    static __declspec(dllexport) bool isValidInt (const std::string& str);
};
于 2013-09-13T19:06:35.557 回答
1

stringstd命名空间中,所以前缀std::

#include <string>

class getInt
{
public:
    //NB :: static __declspec(dllexport) is need to export data from the dll!

    //This declares the function for retrieving an integer value from the user
    static __declspec(dllexport) int toInt (const std::string &inStr);
    static __declspec(dllexport) int getNum();
    static __declspec(dllexport) bool isValidInt (const std::string& str);
};
于 2013-09-13T19:07:52.803 回答