我刚刚开始阅读Accelerated C ++,当我遇到这个时,我正在努力完成这些练习:
0-4. Write a program that, when run, writes the Hello, world! program as its output.
所以我想出了这段代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout << helloWorld << endl;
cin.get();
return 0;
}
void helloWorld(void)
{
cout << "Hello, world!" << endl;
}
我一直收到错误'helloWorld' : undeclared identifier
。我想我应该做的是为helloWorld创建一个函数,然后为输出调用该函数,但显然这不是我需要的。我也尝试将helloWorld()
放在main中,但这也没有帮助。非常感谢任何帮助。
答案 0 :(得分:11)
我阅读课本练习的方式是,它希望您编写一个程序,将另一个 C ++程序打印到屏幕上。目前,您需要使用cout
语句和""
包围的文字字符串来执行此操作。例如,您可以从
cout << "#include <iostream>" << std::endl;
答案 1 :(得分:7)
您实际上并未在任何地方调用您的helloWorld
功能。怎么样:
int main()
{
helloWorld(); // Call function
cin.get();
return 0;
}
注意:如果你想在定义它之前使用它,你还需要在顶部声明你的函数原型。
void helloWorld(void);
答案 2 :(得分:3)
要调用函数,您需要:
例如:
std::string helloWorld();
int main()
{
cout << helloWorld() << endl;
...
}
std::string helloWorld()
{
return "Hello, world!";
}
答案 3 :(得分:0)
hellwoWorld();
而不是cout << helloWorld << endl;
答案 4 :(得分:0)
在您的main函数中,helloWorld
不是声明的变量。
您希望hellowWorld
是一个字符串,其内容是hello world程序。
答案 5 :(得分:0)
取决于您使用的编译器,您可能需要将helloWorld函数放在main之前。
void helloWorld(void)
{
.....
}
int main()
{
.....
}
我使用视觉工作室,我被迫这样做....
答案 6 :(得分:0)
你真的不需要在底部定义的helloworld函数。这样的事情应该做到。
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//cout will output to the screen whatever is to the right of the insertion operator,
//thats the << to it's right.
//After "hello world" the insertion operator appears again to insert a new line (endl)
cout << "hello world" << endl;
//cin.get() waits for the user to press a key before
//allowing the program to end
cin.get();
return 0;
}