当我尝试运行此代码时:
Instructor.cpp:
#include "Instructor.h"
#include "Person.h"
using std::string;
Instructor::Instructor() {
Person();
salary = 0;
}
Instructor::Instructor(string n, string d, string g, int s) {
Person(n, d, g);
salary = s;
}
void Instructor::print() {
if (gender == "M")
std::cout << "Mr. ";
else
std::cout << "Ms. ";
Person::print();
std::cout << " Instructor, Salary: " << salary << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
Instructor.h:
#include <iostream>
#include <string>
class Instructor: public Person
{
public:
Instructor();
Instructor(std::string n, std::string d, std::string g, int s);
virtual …Run Code Online (Sandbox Code Playgroud) 我在Netbeans上的所有C++项目中都收到了上述错误.我也收到了我试图包含的其他任何错误.以下是我控制并将鼠标悬停在它上面时的内容:http://imgur.com/bBF2xuB.其中一个项目实际构建并运行得很好,但所有其他项目都失败了"构建失败,退出值2"或运行失败,"运行失败,退出值127".我完全不知道如何解决这个问题以及我所寻求的所有尝试解决的问题都没有帮助.几个月前,当我使用Netbeans时,这不是问题,我不确定为什么问题会自发地出现.
我刚刚安装了Netbeans 8.0和最新的cygwin版本试图解决这个问题,但无济于事.我正在运行Windows 7.请帮忙,我将不胜感激.
编辑附加照片中突出显示的红色错误是实际不存在的文件/文件夹.这可能是问题,如果是这样,我该怎么办呢?
编辑2我在选项下的C/C++选项卡下的代码辅助选项卡中删除或更改了一些不存在的文件/文件夹路径,这似乎使编辑器中的一些错误消失了,但我仍然无法构建项目(错误并没有消失在这个特定的项目上),我过去创建的项目正常建设,但我仍然收到"RUN FAILED退出值127".
我没有使用C++练习,正在为我正在学习的课程写一个"银行"课程.每次尝试编译Bank.cpp文件时,我都会收到很长的错误.我怀疑我在这里遗漏了一些非常明显的东西,但我不知道是什么,因为错误对我没有任何意义.
这是我正在编写的无法编译的cpp文件:
#include <iostream>
#include "Bank.h"
Bank::Bank(): savings(0), checking(0) { }
Bank::Bank(double savings_amount, double checking_amount): savings(savings_amount), checking(checking_amount) { }
void Bank::deposit(double amount, string account)
{
if (account == "S") {
savings = savings + amount;
} else {
checking += amount;
}
}
void Bank::withdraw(double amount, string account)
{
if (account == "S") {
savings -= amount;
} else {
checking -= amount;
}
}
void Bank::transfer(double amount, string account)
{
if (account == "S") {
savings -= amount;
checking …Run Code Online (Sandbox Code Playgroud) 这有点难以解释,所以这里有一个例子:
class A
{
...
}
class B: public A
{
...
}
vector<A *> v; // contains pointers to objects of both type A and type B
B item1;
item1 = *v[0]; // *v[0] in this case is an object of type B
Run Code Online (Sandbox Code Playgroud)
除非我收到错误说no match for ‘operator=’ (operand types are ‘B’ and ‘A’),no known conversion for argument 1 from ‘A’ to ‘const B&’即使我在确定v [0]是B类之前将其分配给item1.
我意识到,如果我试图将A的对象分配给其派生类的对象,这可能会产生问题,但这就是检查的目的.我该如何解决这个问题?我是否需要做一些完全不同的事情,或者让操作员或类似的事情过载?任何帮助表示赞赏.
这必须是一个错误(标题中的错误),但有谁知道如何解决它或只是绕过它?
这是代码(我还有两个具有相同问题的其他文件):
#include <iostream>
#include <string>
class Person
{
public:
Person(): name(""), dob(""), gender("") { }
Person(string n, string d, string g): name(n), dob(d), gender(g) { }
virtual void print() { cout << name << " " << dob << endl; }
protected:
string name;
string dob;
string gender;
};
Run Code Online (Sandbox Code Playgroud)
上面代码中的每个"字符串"实例都会收到"无法解析标识符字符串"错误.
它也无法解析标识符"cout"和"endl".同样,有没有人知道解决方法或某种修复?任何帮助表示赞赏,谢谢.