2016-07-25 17 views
-4

私は新しく、「スコープ内で宣言されていません」というエラーを本当に理解できません。私はこれらを関数として宣言しようとしましたが、 ""を使って関数を表示してもコンパイルと実行はできませんでした。ここでのエラーは、次のとおり機能で''はこのスコープで宣言されていません

「)(INTメイン」:

[エラー]「ランダム」はこのスコープ

で宣言されていなかった[エラー]「音」はこのスコープで宣言されていませんでした

[エラー] '遅延' はこのスコープで宣言されていなかった

[エラー] 'NOSOUND' はこのスコープで宣言されていなかった

[エラー] 'BLINKは' DECLARませんでしたこの範囲でED

[エラー]「textattrは、」あなたは1990年代に戻ってからのTurbo C++のコードを持っているよう

#include<stdio.h> 

#include<iostream> 

#include<dos.h> 

#include<conio.h> 

#include<stdlib.h> 

using namespace std; 
int main() 
{ 
    int count=50; 
    while(count--) 
    { 
    sound(90*random(10)); 
    delay(100); 
    nosound(); 
    textattr(random("16")+'a'+BLINK); 
    cprintf("KSHITIJ"); 
    } 
} 
+0

この関数は 'random()'ではなく 'rand()'と呼ばれます。 –

+0

@πάνταῥεOP OPがいくつかの外部ライブラリを使用しているように見えますが、文字列入力が種の可能性が高い 'random'に与えられていれば、これはlibの一部であると言えます。多分dos libのいくつかの並べ替え? –

+1

これを実行すると、次のものも実行されます:http://stackoverflow.com/questions/9459035/c-rand-gives-same-number-when-running-process – NathanOliver

答えて

0

が見えるこのスコープで宣言されていませんでした。 Turbo C++の最後のバージョンは、標準化されたC++の前にリリースされていたので、不足していて、他のものはいくらか奇妙なことがあります。また、それ以外の場所では見つけることができない独自のライブラリの大きなバンドルも含まれています。あなたが気付いているように、最近、まともなサポートを見つけるのは難しいです。

は「」

は、コンパイラが、言っているこのスコープで宣言されていなかった「この名前が定義されていません。」これは、通常、ヘッダーが欠落していることを示すプロンプトです。この場合、すべての適切なヘッダーがありますが、これらのTurbo C++専用の関数は含まれていません。つまり、最新のコンパイラでサポートされている代替案を見つける必要があります。

randomstd::uniform_int_distribution

sound(90*random(10)); 
delay(100); 
nosound(); 

に置き換えることができますが、おそらくなし方がいいでしょうcprintfthe win32 call beep

textattrに置き換えるとすることができます。この点滅は、GCCに再導入するための後部痛である。このすべてを行うにはwin32呼び出しがあるかもしれませんが、私はそれを試したことはありませんし、紛失しています。

関連する問題