Czesc,
mam 2 formy jak próbuje zadeklarowac tablice to rzyga błędami ktoś powie mi jak i gdzie to zrobic?
probowalem w public: w form.h i w pliku .cpp razem z extern i cos nie dziala.
takie cos wywala:
Błąd 1 error C4430: brak specyfikatora typu - założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int C:\Users\czesia\documents\visual studio 2013\Projects\Projekt1\Projekt1\MyForm.cpp 7 1 Projekt1
kod?
form.cpp
#include "MyForm.h"
#include "MyForm1.h"
#include <iostream>
extern int tab[10]; // <--------------------------------------tutaj
using namespace System;
using namespace System::Windows::Forms;
//using namespace std;
extern tab[10];
[STAThread]
void Main(array<String^>^ args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Projekt1::MyForm form;
Application::Run(%form);
}
form.h tutaj tez w zadnym miejscu sie nie da
#pragma once
#include "MyForm1.h"
#include "MyForm.h"
namespace Projekt1 {
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>
/// Podsumowanie informacji o MyForm
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: W tym miejscu dodaj kod konstruktora
//
}
protected:
/// <summary>
/// Wyczyść wszystkie używane zasoby.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::PictureBox^ pictureBox1;
private: System::Windows::Forms::Label^ label1;
private: System::Windows::Forms::MonthCalendar^ monthCalendar1;
private: System::Windows::Forms::PictureBox^ pictureBox2;
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::Button^ button2;
A nie, bo tutaj:
extern tab[10];
extern int tab[10]; // <--------------------------------------tutaj
...
extern tab[10];
Co to jest to na dole?
extern int tab[];
int tab[10];
teraz mam problem bo poprawilem to ale z drugiej formy i tak nie widzi tej zmiennej nie wiem czemu jakies pomysly jak to zrobic?
To na dole juz sam nie wiem musialem to napisac zeby sie forma wyswietlila.
"to na dole" to nie jest poprawny C++, więc nie miało prawa tego wymagać.
Dobra a powie mi ktos jak zadeklarowac ta tablice zeby byla widziana z kazdego pliku? bo mi nie widzi tego
Dalem extern ale nie dziala
deklaruje sie ale nie widzi z reszty plikow
extern
ma być w pliku nagłówkowym, który jest dołączany przez wszystkie pliki, które chcą korzystać z tej tablicy. Deklaracja bez extern
ma być w jednym z plików cpp
. Zrób dokładnie tak, a jak będzie błąd to wklej go tu.
tutaj jest myform.cpp w pliku .h nie da sie zadeklarowac w zadnym miejscu tablicy
Glownie chodzi mi o to ze w pliku form.h mam mieć tablice - nie da sie jej tam zadeklarowac to probuje w pliku form.cpp ale tam jak dam extern to nie widzi zmiennej z pliku form.h
#include "MyForm.h"
#include "MyForm1.h"
#include <iostream>
#include <stdlib.h>
extern int tab[10];
using namespace System;
using namespace System::Windows::Forms;
//using namespace std;
[STAThread]
void Main(array<String^>^ args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Projekt1::MyForm form;
Application::Run(%form);
}
Nie działa zadeklarowalem w 1 linijce ale jak probuje sie do niej odwolac (tam gdzie sa strzalki na koncu) to rzyga bledami
extern int tab[10];
#pragma once
namespace Projekt1 {
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>
/// Podsumowanie informacji o MyForm1
/// </summary>
public ref class MyForm1 : public System::Windows::Forms::Form
{
public:
//===============================================
//=================deklaracje====================
//===============================================
int klik = 0;
//int zz[1];
int lanos, tigra, passat, a4, ibiza, megane, spark, v70, focus, punto;
MyForm1(void)
{
InitializeComponent();
//
//TODO: W tym miejscu dodaj kod konstruktora
//
}
protected:
/// <summary>
/// Wyczyść wszystkie używane zasoby.
/// </summary>
~MyForm1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::PictureBox^ pictureBox1;
private: System::Windows::Forms::Label^ label1;
private: System::Windows::Forms::RadioButton^ radioButton1;
private: System::Windows::Forms::RadioButton^ radioButton2;
private: System::Windows::Forms::RadioButton^ radioButton3;
private: System::Windows::Forms::RadioButton^ radioButton4;
private: System::Windows::Forms::RadioButton^ radioButton5;
private: System::Windows::Forms::RadioButton^ radioButton6;
private: System::Windows::Forms::RadioButton^ radioButton7;
private: System::Windows::Forms::RadioButton^ radioButton8;
private: System::Windows::Forms::RadioButton^ radioButton9;
private: System::Windows::Forms::RadioButton^ radioButton10;
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::PictureBox^ pictureBox2;
protected:
private:
/// <summary>
/// Wymagana zmienna projektanta.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Wymagana metoda wsparcia projektanta - nie należy modyfikować
/// zawartość tej metody z edytorem kodu.
/// </summary>
void InitializeComponent(void)
{
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(MyForm1::typeid));
this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());
this->label1 = (gcnew System::Windows::Forms::Label());
this->radioButton1 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton2 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton3 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton4 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton5 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton6 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton7 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton8 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton9 = (gcnew System::Windows::Forms::RadioButton());
this->radioButton10 = (gcnew System::Windows::Forms::RadioButton());
this->button1 = (gcnew System::Windows::Forms::Button());
this->pictureBox2 = (gcnew System::Windows::Forms::PictureBox());
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pictureBox1))->BeginInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pictureBox2))->BeginInit();
this->SuspendLayout();
//
// pictureBox1
//
this->pictureBox1->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"pictureBox1.Image")));
this->pictureBox1->Location = System::Drawing::Point(12, 12);
this->pictureBox1->Name = L"pictureBox1";
this->pictureBox1->Size = System::Drawing::Size(488, 295);
this->pictureBox1->TabIndex = 0;
this->pictureBox1->TabStop = false;
//
// label1
//
this->label1->AutoSize = true;
this->label1->Location = System::Drawing::Point(507, 13);
this->label1->Name = L"label1";
this->label1->Size = System::Drawing::Size(45, 13);
this->label1->TabIndex = 1;
this->label1->Text = L"Wybierz";
//
// radioButton1
//
this->radioButton1->AutoSize = true;
this->radioButton1->Location = System::Drawing::Point(510, 30);
this->radioButton1->Name = L"radioButton1";
this->radioButton1->Size = System::Drawing::Size(54, 17);
this->radioButton1->TabIndex = 2;
this->radioButton1->TabStop = true;
this->radioButton1->Text = L"Lanos";
this->radioButton1->UseVisualStyleBackColor = true;
//
// radioButton2
//
this->radioButton2->AutoSize = true;
this->radioButton2->Location = System::Drawing::Point(510, 53);
this->radioButton2->Name = L"radioButton2";
this->radioButton2->Size = System::Drawing::Size(67, 17);
this->radioButton2->TabIndex = 3;
this->radioButton2->TabStop = true;
this->radioButton2->Text = L"Tigra 1.6";
this->radioButton2->UseVisualStyleBackColor = true;
//
// radioButton3
//
this->radioButton3->AutoSize = true;
this->radioButton3->Location = System::Drawing::Point(510, 76);
this->radioButton3->Name = L"radioButton3";
this->radioButton3->Size = System::Drawing::Size(96, 17);
this->radioButton3->TabIndex = 4;
this->radioButton3->TabStop = true;
this->radioButton3->Text = L"Passat 1.9 TDI";
this->radioButton3->UseVisualStyleBackColor = true;
//
// radioButton4
//
this->radioButton4->AutoSize = true;
this->radioButton4->Location = System::Drawing::Point(510, 99);
this->radioButton4->Name = L"radioButton4";
this->radioButton4->Size = System::Drawing::Size(38, 17);
this->radioButton4->TabIndex = 5;
this->radioButton4->TabStop = true;
this->radioButton4->Text = L"A4";
this->radioButton4->UseVisualStyleBackColor = true;
//
// radioButton5
//
this->radioButton5->AutoSize = true;
this->radioButton5->Location = System::Drawing::Point(510, 122);
this->radioButton5->Name = L"radioButton5";
this->radioButton5->Size = System::Drawing::Size(47, 17);
this->radioButton5->TabIndex = 6;
this->radioButton5->TabStop = true;
this->radioButton5->Text = L"Ibiza";
this->radioButton5->UseVisualStyleBackColor = true;
//
// radioButton6
//
this->radioButton6->AutoSize = true;
this->radioButton6->Location = System::Drawing::Point(610, 30);
this->radioButton6->Name = L"radioButton6";
this->radioButton6->Size = System::Drawing::Size(64, 17);
this->radioButton6->TabIndex = 7;
this->radioButton6->TabStop = true;
this->radioButton6->Text = L"Megane";
this->radioButton6->UseVisualStyleBackColor = true;
//
// radioButton7
//
this->radioButton7->AutoSize = true;
this->radioButton7->Location = System::Drawing::Point(610, 53);
this->radioButton7->Name = L"radioButton7";
this->radioButton7->Size = System::Drawing::Size(74, 17);
this->radioButton7->TabIndex = 8;
this->radioButton7->TabStop = true;
this->radioButton7->Text = L"156 Spark";
this->radioButton7->UseVisualStyleBackColor = true;
//
// radioButton8
//
this->radioButton8->AutoSize = true;
this->radioButton8->Location = System::Drawing::Point(610, 76);
this->radioButton8->Name = L"radioButton8";
this->radioButton8->Size = System::Drawing::Size(44, 17);
this->radioButton8->TabIndex = 9;
this->radioButton8->TabStop = true;
this->radioButton8->Text = L"V70";
this->radioButton8->UseVisualStyleBackColor = true;
//
// radioButton9
//
this->radioButton9->AutoSize = true;
this->radioButton9->Location = System::Drawing::Point(610, 99);
this->radioButton9->Name = L"radioButton9";
this->radioButton9->Size = System::Drawing::Size(54, 17);
this->radioButton9->TabIndex = 10;
this->radioButton9->TabStop = true;
this->radioButton9->Text = L"Focus";
this->radioButton9->UseVisualStyleBackColor = true;
//
// radioButton10
//
this->radioButton10->AutoSize = true;
this->radioButton10->Location = System::Drawing::Point(610, 122);
this->radioButton10->Name = L"radioButton10";
this->radioButton10->Size = System::Drawing::Size(53, 17);
this->radioButton10->TabIndex = 11;
this->radioButton10->TabStop = true;
this->radioButton10->Text = L"Punto";
this->radioButton10->UseVisualStyleBackColor = true;
//
// button1
//
this->button1->Location = System::Drawing::Point(510, 276);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(174, 23);
this->button1->TabIndex = 12;
this->button1->Text = L"DALEJ --->";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &MyForm1::button1_Click);
//
// pictureBox2
//
this->pictureBox2->Image = (cli::safe_cast<System::Drawing::Image^>(resources->GetObject(L"pictureBox2.Image")));
this->pictureBox2->Location = System::Drawing::Point(530, 140);
this->pictureBox2->Name = L"pictureBox2";
this->pictureBox2->Size = System::Drawing::Size(134, 130);
this->pictureBox2->SizeMode = System::Windows::Forms::PictureBoxSizeMode::StretchImage;
this->pictureBox2->TabIndex = 14;
this->pictureBox2->TabStop = false;
//
// MyForm1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(694, 311);
this->Controls->Add(this->pictureBox2);
this->Controls->Add(this->button1);
this->Controls->Add(this->radioButton10);
this->Controls->Add(this->radioButton9);
this->Controls->Add(this->radioButton8);
this->Controls->Add(this->radioButton7);
this->Controls->Add(this->radioButton6);
this->Controls->Add(this->radioButton5);
this->Controls->Add(this->radioButton4);
this->Controls->Add(this->radioButton3);
this->Controls->Add(this->radioButton2);
this->Controls->Add(this->radioButton1);
this->Controls->Add(this->label1);
this->Controls->Add(this->pictureBox1);
this->Name = L"MyForm1";
this->RightToLeftLayout = true;
this->Text = L"System Ekspertowy";
this->Load += gcnew System::EventHandler(this, &MyForm1::MyForm1_Load);
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pictureBox1))->EndInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pictureBox2))->EndInit();
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private: System::Void MyForm1_Load(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
klik++;
tab[0]=1;<-------------------------------
if (klik == 1)
{
this->pictureBox1->Load("C:\\Users\\czesia\\Desktop\\sztucznainteligencja\\vmax.png");
}
if (klik == 2)
{
this->pictureBox1->Load("C:\\Users\\czesia\\Desktop\\sztucznainteligencja\\paliwo.png");
}
if (klik == 3)
{
this->pictureBox1->Load("C:\\Users\\czesia\\Desktop\\sztucznainteligencja\\pojemnosc.png");
}
}
};
}
nie mam ale nawet jak dam to nic to nie zmienia. mam 2 pliki cpp i 2 form
Dobra dziala dzieki !!!!