Не могу получить доступ к функции из файла заголовка - PullRequest
2 голосов
/ 19 июля 2011
//head.h//
extern int sum(int,int);
//head.cpp//

#include "head.h"
#include "stdafx.h"
int sum(int x, int y)
{
return (x+y);
}
//mainfn.cpp//

#include "head.h"
#include "stdafx.h"
#include string
#include iostream
#include stdio.h
using std::string;
using std::cout;
using namespace System;

int main()
{
int x=10,y=2;
printf("value:  %d",sum(x,y));
Console::ReadLine();
return 0;
}

При создании в Visual Studio 2005 этот проект vc ++ дает следующую ошибку:

error C3861: 'sum': identifier not found.

Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

6 голосов
/ 19 июля 2011

Вам необходимо разместить включение head.h после stdafx.h . Когда включены предварительно скомпилированные заголовки, компилятор будет игнорировать содержимое всех включений, которые происходят до (в этом случае) включения stdafx.h .

3 голосов
/ 19 июля 2011

Либо удалите stdafx.h из проекта, и включите предварительно скомпилированные заголовки ... или попробуйте переместить head.h, чтобы включить после stdafx.h вместо ранее.

...