2012-01-22 15 views
0

以下は、私のコードです...ポインター:C++でのリンクエラー

#include"PointerToArray.h" 
#include <iostream> 
using namespace std; 
void display(const int (*displayM)[10],int resultRow,int resultColumn) 
{ 

for(int i=0;i<resultRow;i++) 
{ 
    for(int j=0;j<resultColumn;j++) 
    { 
     cout<<displayM[i][j]; 
    } 
} 

} 

void read() 
{ 
int (*matrixA)[10],(*matrixB)[10]; 
int row1,col1,row2,col2; 
cout<<"Enter the number of rows and colums for Matrix1"; 
cin>>row1>>col1; 
matrixA=new int[row1][10]; 
cout<<"Enter elements"<<endl; 
for(int i=0;i<row1;i++) 
{ 
    for(int j=0;j<col1;j++) 
    { 
     cin>>matrixA[i][j]; 
    } 
} 

cout<<"Enter the number of rows and colums for Matrix2"; 
cin>>row2>>col2; 
matrixB=new int[row2][10]; 
cout<<"Enter elements"<<endl; 
for(int i=0;i<row2;i++) 
{ 
    for(int j=0;j<col2;j++) 
    { 
     cin>>matrixB[i][j]; 
    } 
} 

display(matrixA,row1,col1); 



} 

いずれかの方法を提案することができます私は

1:1>C:\Progs\PointerToArray\Debug\PointerToArray.exe : fatal error LNK1120: 1 unresolved externals 2:1>PointerToArray.obj : error LNK2019: unresolved external symbol "void __cdecl display(int (*)[10],int,int)" ([email protected]@[email protected]) referenced in function "void __cdecl read(void)" ([email protected]@YAXXZ)

としてエラーを取得していますか?

+0

コードは機能するはずです。 –

+0

コードはgccを使って私にとってうまくコンパイルします。4.6.1 –

+0

私はMicrosoft VC++を試しています...あなたが新しいプロジェクトに投稿したのとまったく同じコードをコピーして貼り付けると、最初のインクルードを除いて、それは – user654761

答えて

6

.cファイルの表示関数のシグネチャは、そこに 'const'がないという点でエラーメッセージとは異なります。あなたはPointerToArray.hで関数宣言(プロトタイプ)が代わりに

void display(int (*displayM)[10],int resultRow,int resultColumn) 

しかし

void display(const int (*displayM)[10],int resultRow,int resultColumn) 

を持っていないことを確認することができますか?

もしそうなら、いずれか1つを変更することで解決できます。

+0

WHOA !!!サイコパワー。それでおしまい!宣言が定義と一致しないため、コンパイラはconstを持たないバージョンを選択しています。あまりにも悪い私は一度だけupvoteすることができます。 :) –

+0

ありがとうございましたfmsc ....あなたのポイントは正しい......... – user654761

+0

それは嬉しいです。ヤマ勘 :) –

関連する問題