这个代码(基本C++代码)出了什么问题
What is wrong with this code (Basic C++ Code)
我正在学习C++编程语言。我制作了一个文件,其中包含一个类,并向用户显示一个输出"Hello World",如下所示:
#include <iostream>
#include <string>
using std::cout;
using std::endl;
class print()
{
public:
print(string name)
{
setName(name);
}
void setName(string name)
{
output = name;
}
string getName()
{
return output;
}
private:
string output;
};
int main()
{
print print1("Hello");
print print2("World");
cout << "Output1 is " << print1.getName() << "Output2 is " << print2.getName() << endl;
return 0;
}
它看起来很好,但我收到了这个错误消息:
|===生成文件:"无项目"中的"无目标"(编译器:未知)===|
那么这意味着什么,代码中有错误吗?
class print() // <-- class declaration doesn't take parentheses
print(string name) // <-- you have to use std::string
是的,正如其他人已经指出的那样,您的代码中存在一些错误(我不再重复)。但这并不是主要问题,似乎你甚至没有走到这些错误出现的地步:
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
似乎表明您的构建环境确实出了问题,根本没有编译/构建。您似乎没有正确设置项目/生成文件。请熟悉编译器、链接器和生成程序所需的makefile或项目。
也许,如果您使用像QDevelop、Eclipse或KDevelop这样的IDE(集成开发环境),您将不得不在IDE的"项目设置"(或类似的)对话框中告诉IDE该做什么。
我会搜索一个简单的howto/example/tutorial如何正确地使用工具构建文件(谷歌上的任何编译器和IDE都有很多帮助)。最简单的事情是,如果你找到了一个已经建立的项目,你可以根据自己的目的合法地更改它。
一旦你完成了这项工作并进行了编译,你会得到一些关于代码中错误的漂亮而详细的错误消息,你将能够很容易地自己修复它们。
首先:不使用多个using std::
,而是将其设为using namespace std;
,但如果您喜欢多个,则添加using std::string;
第二:类声明不带括号,它将是
class print
{
//class code
};
第三:||===生成文件:"无项目"中的"无目标"(编译器:未知)===|
意味着您的编译器出现问题,无论是g++Intel还是您使用的任何其他编译器,修复=>重新安装编译器。
需要注意的第四点是:不要只关注普通的/*your writing*/
代码错误,它可能出现在声明中,比如这里发生的事情。
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 0-1背包代码中的错误.我的代码中有什么错误
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 这行代码在C++类中意味着什么
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 此代码中的操作流程是什么?C/C++.
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 此代码验证公式是什么意思?
- 需要以下代码的帮助,下面的代码有什么问题
- C++标准提案代码:什么是 N 和 P?
- C - 哈希算法代码什么都没有返回
- 将"12345678"转换为"1-234-5678",我的代码什么也没产生
- 在编译过程中,琐碎的(没有效果的)代码什么时候会被删除
- 有人能告诉我为什么这个代码什么都不打印吗