我已经在Windows Form C ++项目中实现了以下功能

template<class T> class MyQueue
{
    T *m_data;
    int m_numElements;

public:
    MyQueue() : m_data(NULL), m_numElements(0) { }

  ..... code .....

};

MyQueue<char> logData; // I need to acces it from Form1.h

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{

    // Enabling Windows XP visual effects before any controls are created
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    // Create the main window and run it
    Application::Run(gcnew Form1());

    return 0;
}


我想在Form1.h中访问它
在下面

private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e)
{
  ??? MyQueue<char> logData; // I need to acces it
}


有什么线索吗?

最佳答案

您可以声明logdata静态的。通常,不认为访问原始数据成员是一种好习惯,因此,您可能还希望提供一种静态方法来将字符放入队列中。这是有关C ++中静态成员的教程。

http://www.tutorialspoint.com/cplusplus/cpp_static_members.htm

关于c++ - 如何在C++中的MFC形式中访问全局变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33656248/

10-11 07:57