У меня есть два класса первый содержит-структуру вот что в Ачиспользовать-структуру из класса, чтобы построить еще один класс
class A
{
public:
A();
struct structname
{double a;....};
};
, и я хочу использовать эту структуру в качестве аргумента конструктора B
#include "A.h"
B::B(A::structname data)
{
}
, но я получил сообщение об ошибке: «structname» в «класса а» не называет тип
чем проблема?
подробнее: Два класса находятся в другом файле .cpp. В a.cpp и B.cpp: Я просто #include в хиджры и B.h В B.h:
class A;
class B
{
public:
B(A::structname data);
}
реально:
-структуруstruct structname
{
std::vector<double> a={0,0,0};
std::vector<double> B={0,0,0};
std::vector<double> c={0,0,0};
std::vector<double> d={0,0,0};
}
Я надеюсь, что '....' не находится в реальной программе. –
Это вполне возможно, см. Http://ideone.com/aveqY9, ошибка должна быть где-то еще. Может быть, вы перепутали свои предложения? – Anedar
@ColinBasnett Может быть, CHOCOLEO экспериментирует с вариационными структурами. – user4581301