我意識到這種類型的問題已經被問到,我看了看那些回答,但仍然認爲我錯過了一些東西。我得到這個「沒有匹配的構造函數錯誤」,因爲我沒有構造函數,但是據說,我所看到的關於構造函數的所有內容都表示,如果您尚未在類中包含變量名稱,則需要它們。但我已經這樣做了,所以我需要一個構造函數嗎?如果我這樣做,那麼它應該是什麼樣子?我是C++的新手,參加一個班級,這是一個任務。「沒有用於初始化...的匹配構造函數」
這是我的sensor_node.h文件與類聲明:
#ifndef SENSORNODE_H
#define SENSORNODE_H
#include <iostream>
class LOCATION {
float lat, longi, height;
public:
LOCATION (float lat, float longi, float height);
void setx(float xx);
void sety(float yy);
void setz(float zz);
void print();
};
class SensorNode {
char* NodeName;
int NodeID;
LOCATION Node1;
float batt;
int func;
public:
SensorNode(char *n, float x, float y, float z, int i, float ah);
void print();
void setOK(int o);
int getOK();
void setLOC(float longi, float lat, float h);
};
#endif /* defined(__Project_3__sensor_node__) */
這是我的main.cpp中與錯誤(在上面寫着 「位置」 的路線):
#include <iostream>
using namespace std;
#include "sensor_node.h"
int main() {
LOCATION a; SensorNode s1("Pulse",15.9,-30.1,0,157,2.0);
int hold;
那麼這是否意味着我需要另一個構造函數?我的老師做了這一行:LOCATION a; SensorNode s1(「脈衝」,15.9,-30.1,0,157,2.0); 我看到它的參數與構造函數不匹配。但我不太明白。我應該做另一個構造函數嗎?或者是調用一個我還沒有構建的函數? – Acoustic77 2013-04-30 22:43:46
你可以給出'a'三個參數(例如'LOCATION a(1.2,3.4,5.6);'in),或者你可以在你的類定義中提供一個默認的構造函數LOCATION()。 – Matthias 2013-05-01 04:13:32
哦!得到它了!謝謝馬提亞斯! – Acoustic77 2013-05-01 18:18:40