我正在实现一个C ++程序,出于项目原因,它必须在一个文件中转换,所以我不能把你通常的东西放到一个单独的头文件中,它只是在我文件的顶部。我收到此错误
project1.cpp:194:12: error: expected unqualified-id
OrderOfOps(const std::string& in)
^
project1.cpp:194:12: error: expected ')'
project1.cpp:194:11: note: to match this '('
OrderOfOps(const std::string& in)
以下是有问题的代码行: 构造函数部分,它将是一个标题:
class OrderOfOps {
public:
// Constructor
OrderOfOps(const std::string& in);
private:
std::string m_inString;
};
问题区域:
bool IsNumber(const std::string& num)
{
std::string::const_iterator it = num.begin();
// Look up locale method
while (it != num.end() && std::isdigit(*it, std::locale())) {
++it;
}
return !num.empty() && it == num.end();
}
// Constructor
OrderOfOps(const std::string& in)
{
m_inString = in;
}
答案 0 :(得分:1)
虽然您无法将代码分离为头文件和源文件,但#include "header.h"
只是进行纯文本插入,因此无论如何编译器本身都会看到相同的内容。你的问题是:
OrderOfOps(const std::string& in)
不是如何在类定义之外定义构造函数。你需要:
OrderOfOps::OrderOfOps(const std::string& in)