пытается увидеть, как структуры и конструкторы работают в заголовках, реализациях и основных файлах. Использование конструктора и конструктора по умолчанию. Я получаю ошибку компиляции в mains.cpp из «неопределенной ссылки на 'номер :: чисел()'определение конструктора в структуре
В test.h у меня есть:
#ifndef H_TEST
#define H_TEST
struct numbers{
int a;
int b;
numbers();
numbers(int x, int y);
};
#endif
В Numbers.cpp у меня есть:
#include "test.h"
numbers::numbers()
{
a=0;
b=0;
}
numbers::numbers(int x, int y)
{
a=x;
b=y;
}
в mains.cpp у меня есть:
#include<iostream>
#include "test.h"
using namespace std;
numbers num;//compilation error occurs here
int main()
{
return 0;
}
Наиболее вероятная причина в том, что вы не правильно связываетесь, вы связываете только «mains.cpp». –
Возможная дубликация [Что такое неопределенная ссылка/неразрешенная ошибка внешнего символа и как ее исправить?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external- symbol-error-and-how-do-i-fix) – incBrain
Он отлично работает в MSVS 2013. Какой из них вы использовали? –