前提・実現したいこと
C++で書かれたファイルをダウンロードし、コンパイルしたのですがエラーが出てしまい、原因がわかりません。
色々と調べたもののよくわからず、質問させていただきました。
どなたか教えていただけるとありがたいです。
エラーメッセージ
最初に出てきたエラーメッセージです。
$ g++ childDriver.cpp In file included from ../tMesh/tMesh.h:286, from ../Inclusions.h:29, from childInterface.h:33, from childDriver.cpp:19: ../tMesh/tMesh.cpp: メンバ関数 ‘void tMesh<tSubNode>::MakeRandomPointsFromArcGrid(const tInputFile&)’ 内: ../tMesh/tMesh.cpp:1847:42: エラー: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’}) 1847 | std::cout << "finished reading file," << gridfile << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~ | | | | std::basic_ostream<char> std::ifstream {aka std::basic_ifstream<char>}
該当すると思われるプログラム
プログラムが長く、また複数のファイルに及ぶので、エラーが出た辺りのコードのみを載せます。
c++
1 maxx = minx + ( numcols - 1 ) * delgrid; 2 maxy = miny + ( numrows - 1 ) * delgrid; 3 dx = maxx - minx; 4 dy = maxy - miny; 5 di = numcols; 6 dj = numrows; 7 // create matrix from input file: 8 tMatrix< double > elev( numrows, numcols ); 9 for( j=0; j<numrows; j++ ) 10 { 11 for( i=0; i<numcols; i++ ) 12 { 13 if( gridfile.eof() ) 14 ReportFatalError( "Reached end-of-file while reading points." ); 15 gridfile >> elev( j, i ); 16 } 17 } 18 gridfile.close(); 19 std::cout << "finished reading file," << gridfile << std::endl; 20 // Create the 3 nodes that form the supertriangle and place them on the 21 // node list in counter-clockwise order. (Note that the base and height 22 // of the supertriangle are 5 times the 23 // width and height, respectively, of the rectangle that encloses the 24 // points.) Assigning the IDs allows us to retrieve and delete these 25 // nodes when we're done creating the mesh. 26 tempnode.set3DCoords( minx-2*dx, miny-2*dy, 0.0 ); 27 tempnode.setBoundaryFlag( kClosedBoundary ); 28 tempnode.setID( -3 ); 29 nodeList.insertAtBack( tempnode ); 30 tempnode.set3DCoords( maxx+2*dx, miny-2*dy, 0.0 ); 31 tempnode.setID( -2 ); 32 nodeList.insertAtBack( tempnode ); 33 tempnode.set3DCoords( minx+0.5*dx, maxy+2*dy, 0.0 ); 34 tempnode.setID( -1 ); 35 nodeList.insertAtBack( tempnode ); 36
補足情報(FW/ツールのバージョンなど)
windows10
cygwin を使用しています。
このプログラムはUNIXプラットフォーム上のC ++で開発されたそうです。
回答1件
あなたの回答
tips
プレビュー