【发布时间】:2014-03-06 09:13:25
【问题描述】:
我正在学习 C++,但我的水平还很低。 - 我目前正在研究使用头文件,我有一个两部分的问题。
第 1 部分
据我所知,头文件定义类似于 VB.net 中的硬编码字符串?例如,我可以执行以下#define STOCK_QUANTITY 300,然后在函数中使用它时引用我的定义?我认为这与 VB.net 字符串的工作方式相同,因为如果我需要更改定义并且我的程序在几百个不同的行上引用数字 300,我只需要在一个地方更改值?
第 2 部分
现在,正如我所说,我还在学习,所以我还在做你们旧的乘法任务。我擅长将函数与我的主 .cpp 文件一起使用,但我不会继续使用头文件。到目前为止,这是我的代码 sn-p。
add.h
#ifndef ADD_H
#define ADD_H
int add(int x, int y);
#endif
main.cpp
#include "stdafx.h"
#include <iostream>
#include "add.h"
int main()
{
using namespace std;
cout << add(3, 4) << endl;
return 0;
}
当尝试运行它时,我收到 2 个构建错误,它不会编译。
抱歉,这些都是愚蠢的问题,但我希望能提供见解、提示,甚至是我应该考虑的其他一些事情。谢谢。
编辑
根据答案,我也更改了 add.h
#ifndef ADD_H
#define ADD_H
int add(int x, int y)
{
return x + y;
}
#endif
当我阅读答案时,我意识到我什至没有告诉函数该做什么:( - 天哪。
【问题讨论】:
-
ObSocraticMethod: 你希望你的程序做什么?返回数字相加的结果?它怎么知道这样做?就因为你调用了函数add?
-
查看我的编辑,我意识到我没有真正定义函数的错误。 叹息
-
我实际上不知道 VB.NET 硬编码字符串到底是什么,但在 C++ 中,理解宏(即
#defined 值)的最佳方式是它们只是替换为的标记它们的价值(如自动复制粘贴系统)。 -
是的,这就是我对它们的理解,在 VB.net 中就是这样接受你在项目设置中定义的。
标签: c++ visual-c++ header-files build-error