簡體   English   中英

eclipse cdt中無法識別的結構

[英]struct not recognized in eclipse cdt

我正在嘗試通過eclipse cdt編寫基於控制台的計算器。但是識別我的結構Calc似乎存在問題

有我的頭文件:

#ifndef __CALC_H__
#define __CALC_H__
#include <iostream>

struct Calc {
  Calc();
  Calc(const Calc &other);

  bool error;
  int display;
  char oper;
  int result;
  int memory;

  void digit(int digit);
  void op(char oper);
  void equals();

  void memPlus();
  void memClear();
  void memRecall();

  bool isError() const;

  void allClear();
};

std::ostream &operator<<(std::ostream &out, const Calc &c);

#endif

和我的源文件

#include "calc.h"

void doOperation(Calc& calc){
    switch(calc.oper){//ide tells me oper cant be resolved
    case '+':
        break;
    case '-':
        break;
    case '*':
        break;
    case '/':
        break;
    }
}

void Calc(){

}

void Calc(const Calc& other){//ide tells me Calc does not name a type

}

所以問題是1.oper無法識別為Calc的數據成員2.當我使用Calc作為參數時,eclipse無法找到Calc類型我在哪里做錯了? 提前致謝!

2件事,第一個構造函數沒有返回類型,所以

void Calc() {}

不是要走的路-失去void返回類型。 其次,您需要使用范圍解析操作上的Calc成員函數-再次失去void

 Calc::Calc(const Calc& other){
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM