0

此代码取自http://msdn.microsoft.com/en-us/library/system.console.windowwidth.aspx 我想在 gcc 编译器中编译它。

#include<cstdio>
#include<string>
#include<windows.h>
#include<iostream>
using namespace System;
int main()
{
   int origWidth;
   int width;
   int origHeight;
   int height;
   String^ m1 = "The current window width is {0}, and the " 
   "current window height is {1}.";
   String^ m2 = "The new window width is {0}, and the new " 
   "window height is {1}.";
   String^ m4 = "  (Press any key to continue...)";

    // 
   // Step 1: Get the current window dimensions. 
   //
   origWidth = Console::WindowWidth;
   origHeight = Console::WindowHeight;
   Console::WriteLine( m1, Console::WindowWidth, Console::WindowHeight );
   Console::WriteLine( m4 );
   Console::ReadKey( true );

   // 
   // Step 2: Cut the window to 1/4 its original size. 
   //
   width = origWidth / 2;
   height = origHeight / 2;
   Console::SetWindowSize( width, height );
   Console::WriteLine( m2, Console::WindowWidth, Console::WindowHeight );
   Console::WriteLine( m4 );
   Console::ReadKey( true );

   // 
   // Step 3: Restore the window to its original size. 
   //
   Console::SetWindowSize( origWidth, origHeight );
   Console::WriteLine( m1, Console::WindowWidth, Console::WindowHeight );
}

但它显示错误。

错误是

F:\Untitled2.cpp||In function 'int main()':|
F:\Untitled2.cpp|31|error: 'Console' has not been declared|
F:\Untitled2.cpp|32|error: 'Console' has not been declared|
F:\Untitled2.cpp|33|error: 'Console' has not been declared|
F:\Untitled2.cpp|34|error: 'Console' has not been declared|
F:\Untitled2.cpp|35|error: 'Console' has not been declared|
F:\Untitled2.cpp|35|error: 'name' was not declared in this scope|
F:\Untitled2.cpp|36|error: 'Console' has not been declared|
||=== Build finished: 7 errors, 0 warnings (0 minutes, 0 seconds) ===|

我应该在代码中添加什么?

4

2 回答 2

6

该代码不是 C++,而是C++/CLI。使用 Microsoft 编译器。

于 2013-07-25T12:30:04.723 回答
3

Console是一个 .NET 类,只能由 C++/CLI 访问。

常规 C++ 不使用 .NET 框架,也无法访问其中的类。

所以你需要决定你正在写哪种语言。

于 2013-07-25T12:38:10.623 回答