我想从Microsoft Visual C ++ 6.0中的其他文件导入函数。我怎样才能做到这一点?我试过这个如下:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#import <functions.cpp>
其中functions.cpp是我要导入函数的文件名。但这会出错: F:\ CC ++ \ Term Project \ Dos Plotter \ Functiom Plotter.cpp(6):致命错误C1083:无法打开类型库文件:'functions.cpp':没有这样的文件或目录< / em>的
我该如何解决这个问题?
答案 0 :(得分:4)
1)你的意思是functions.hpp吗? C / cpp文件不应该是#include
d,除非您非常了解自己在做什么。
2)将文件的位置添加到项目属性中的自定义包含路径,或使用include "foo"
格式代替include <foo>
3)导入在C中未定义。您需要分离原型和实现,包括保护原型文件,以及#include
原型文件。
答案 1 :(得分:3)
#import
指令用于类型库,通常是COM或.Net,而不是C ++源文件。有关完整的详细信息,请参阅the MSDN page。
为了包含来自其他文件的C ++函数,通常需要使用#include
指令(details)。这包括编译期间给定文件中的代码。通常,您应该包含一个包含函数原型的标头;可以包含代码文件,但通常不需要或始终安全。
为此,您应该为您的函数提供两个文件,标题和源文件。 标题将读取如下内容:
#pragma once
void Function(int arg);
和来源:
#include "functions.hpp"
void Function(int arg) { ++arg; }
要在另一个文件中使用它,请执行以下操作:
#include "functions.hpp"
void OtherFunction()
{
Function(2);
}
您还应注意,标头通常只应包含一次。保证这一点的MSVC标准方法是将#pragma once
添加到开头。
修改并解决您发布的特定错误(适用于#import
和#include
),您尝试包含的文件必须位于某处在编译器的搜索路径中。在Visual Studio中,您应该添加项目包含的必要路径(这取决于版本,但通常在项目属性 - &gt;编译器下)。
答案 2 :(得分:1)
命名文件imported-function.hpp
,并确保该文件位于相同的目录中。或者,您可以将其链接到
/home/uname/appfolder/imported-function.hpp
C:\Username\uname\appfolder\imported-function.hpp
/home/chronos/u-4e4342ea6b3b92244e7d4753922f0dc7125f4a1d/MyFiles/appfolder/imported-function.hpp
答案 3 :(得分:0)
在同一目录上放置文件functions.cpp
,请使用include "functions.cpp"
代替