Hello Dear Community of cprogramming.com!
I have a following problem - I wrote a simple add_record function using structures (here is my main file):

Code:
// Exercise1.cpp : main project file.
    
    #include "stdafx.h"
    #include "Form1.h"
    
    using namespace Exercise1;
    
    typedef struct student {
            char *name;
            int index;
            double avg;
            student *next;
            student *prev;
    } stud;
    
    student *first = 0;
    
    [STAThreadAttribute]
    
    
    void add_record(student **first, char *name, int index, double avg){
                    student *new_stud = new student;
                    if (*first!=0) (*first)->prev = new_stud;
                    new_stud->name = name;
                    new_stud->avg = avg;
                    new_stud->index = index;
                    new_stud->next = *first;
                    new_stud->prev = 0;
                    *first = new_stud;
    }
However, I can't put this add record function into button action (with predefined data, just for testing purposes)
Code for `Form1.h`:

Code:
    #pragma once
    
    namespace Exercise1 {
    
        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
    
        /// <summary>
        /// Summary for Form1
        /// </summary>
        public ref class Form1 : public System::Windows::Forms::Form
        {
        public:
            Form1(void)
            {
                
                InitializeComponent();
                
                //
                //TODO: Add the constructor code here
                //
            }
    
        protected:
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            ~Form1()
            {
                if (components)
                {
                    delete components;
                }
            }
        private: System::Windows::Forms::Button^  button1;
        protected: 
        private: System::Windows::Forms::Button^  button2;
        //all remaining buttons here - irrelevant
    
        private:
            /// <summary>
            /// Required designer variable.
            /// </summary>
            System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            void InitializeComponent(void)
            {
    }
     #pragma endregion
        private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
                 }
        private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                     String ^ i = "working";
                     textBox1->Text = i;
                     
                 }
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
                 String ^ g = "test";
                 if(add_record(student **first, testname, 23, 3.5))
                     textBox1->Text = g;
             }
   
    };
    }
How to fix that part with record adding?
I get a following error:

Code:
1>d:\visual studio 2010 express\projects\exercise1\exercise1\Form1.h(176): error C2065: 'student' : undeclared identifier
    1>d:\visual studio 2010 express\projects\exercise1\exercise1\Form1.h(176): error C2065: 'first' : undeclared identifier
    1>d:\visual studio 2010 express\projects\exercise1\exercise1\Form1.h(176): error C2065: 'testname' : undeclared identifier
    1>d:\visual studio 2010 express\projects\exercise1\exercise1\Form1.h(176): error C3861: 'add_record': identifier not found
I guess it's something connected with variable declaration but I don't know where to put that in order for it to work..

Thanks in advance!