【发布时间】:2014-10-29 02:37:32
【问题描述】:
我创建了一个 Visual C++ 项目,并在表单中制作了一个按钮。 Visual Studio 为按钮单击事件生成此方法:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
此代码在 Form1.h 文件中,暂时没有问题。但是,如果我尝试在事件方法中使用其他类调用函数,例如 std::cout (无论是在 Form1.h 文件中定义它还是从另一个文件中#include 它都无关紧要),编译器给了我一个错误(C2079)。
为什么会这样?请耐心等待,因为我是 Windows GUI 编程的菜鸟,在此先感谢任何可以提供帮助的人。
【问题讨论】:
-
提供一些失败的源代码会有所帮助。但是,如果您包含 iostream,您可能想用#include
替换它。从上面的代码我猜你正在使用 C++/CLI。 -
如果您使用提到的 fstream,请确保将其放入源文件
using namespace std -
@MichaelPetch:不,绝对不。这是一个头文件 (
Form1.h)。 -
您的问题标题是 C++,尽管我认为您必须使用 C++/CLI(这是较新的托管 C++)。如果是这种情况,那么您将遇到完全不同的问题。托管服务已经取代了 cin 和 cout 等等。您可以在这里看到一个很好的描述:vishnunath.com/cli-programming 查找 CLI 输入输出和 Console::Write 等。话虽如此,我想知道您是否想在旧 C++ 中进行编程,其中 iostream 之类的东西可以在常规 c++ 中按预期工作语法。如果是这样,您可能希望生成一个 C++ 项目(不是 C++/CLI 和托管 C++)
-
我认为您没有使用标准的非托管 C++ 来自代码 sn-p "(System::Object^ sender, System::EventArgs^ e)"
标签: visual-studio visual-c++ c++-cli