C++ 预期的‘;)’;在‘之前;名称’;

C++ 预期的‘;)’;在‘之前;名称’;,c++,C++,我正在为一个与Arduino通信的类编写头文件,我一直收到上面的错误消息。我研究了其他类似的问题,一个反复出现的问题是所讨论的数据类型没有得到很好的定义。没有定义std::string有什么原因吗,或者还有其他问题吗?提前谢谢 编辑:以下代码适用于我用来与Arduino通信的Linux机器,因此不是Arduino代码。此外,完整的错误消息是: 错误:“名称”之前应为“)” ArduinoCom(标准:字符串名称、速度和波特率) ARDINO IDE默认不使用C++ STL,而是ARDUNO拥有

我正在为一个与Arduino通信的类编写头文件,我一直收到上面的错误消息。我研究了其他类似的问题,一个反复出现的问题是所讨论的数据类型没有得到很好的定义。没有定义std::string有什么原因吗,或者还有其他问题吗?提前谢谢

编辑:以下代码适用于我用来与Arduino通信的Linux机器,因此不是Arduino代码。此外,完整的错误消息是: 错误:“名称”之前应为“)” ArduinoCom(标准:字符串名称、速度和波特率)


ARDINO IDE默认不使用C++ STL,而是ARDUNO拥有自己的库集。对于Arduino开发,您将使用提供的

String
对象,而不是
std::String

还有,你应该退房


我们没有足够的代码来重现错误。您提供的代码看起来不错。您能提供完整的错误消息吗?除此之外,您还需要了解以下内容:
使用名称空间std是一个非常糟糕的主意,去掉它。对于初学者来说,
ArduinoCom(std::string name,speed\t baud)与cpp中的
ArduinoCom::ArduinoCom(int name,speed\u t baud)
冲突。您能否将您的
SerialCon.h
也包括在内?我将编辑上述问题,但上面的代码是针对与Arduino通信的Linux机器的,而不是针对Arduino本身的。谢谢你的回复
#ifndef ArduinoCom
#define ArduinoCom

#include <unistd.h>
#include <stdlib.h>
#include <getopt.h>
#include <iostream>
#include <fstream>
#include <string>
#include <termios.h>
#include "SerialCom.h"

class ArduinoCom {
    public:
        ArduinoCom(std::string name, speed_t baud);
        ~ArduinoCom();
        std::string get_value(std::string value_type); 
        double get_double_value(std::string value_type);
    private:
        SerialCom *ard_serial;
};
#endif
#include "ArduinoCom.h"
#include "SerialCom.h"

using namespace std;

ArduinoCom::ArduinoCom(std::string name, speed_t baud){
    ard_serial = new SerialCom(name, baud);
}

ArduinoCom::~ArduinoCom(){
    delete ard_serial;
}

std::string ArduinoCom::get_value(std::string value_type){
    ard_serial->write(value_type);
    std::string buf;
    ard_serial->read(buf);
    return buf;
}

double ArduinoCom::get_double_value(std::string value_type){
    std::value_str = ArduinoCom::get_value(value_type);
    return stod(value_str);
}